Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

contribution to computer aided design evaluation utilizing flexible estimation and multiple linear regression… Forde, Bruce W. R. 1984

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-UBC_1984_A7 F67.pdf [ 3.76MB ]
Metadata
JSON: 831-1.0062467.json
JSON-LD: 831-1.0062467-ld.json
RDF/XML (Pretty): 831-1.0062467-rdf.xml
RDF/JSON: 831-1.0062467-rdf.json
Turtle: 831-1.0062467-turtle.txt
N-Triples: 831-1.0062467-rdf-ntriples.txt
Original Record: 831-1.0062467-source.json
Full Text
831-1.0062467-fulltext.txt
Citation
831-1.0062467.ris

Full Text

A CONTRIBUTION TO COMPUTER AIDED DESIGN EVALUATION UTILIZING FLEXIBLE ESTIMATION AND MULTIPLE LINEAR REGRESSION ANALYSIS b y BRUCE W.R. FORDE A THESIS IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE i n THE FACULTY OF GRADUATE STUDIES (The Department of C i v i l Engineering) We accept t h i s t h e s i s as conforming to the required standard September, 1984 © Bruce W.R. Forde In p r e s e n t i n g t h i s t h e s i s i n p a r t i a l f u l f i l m e n t o f the requirements f o r an advanced degree a t the U n i v e r s i t y of B r i t i s h Columbia, I agree t h a t the L i b r a r y s h a l l make i t f r e e l y a v a i l a b l e f o r r e f e r e n c e and study. I f u r t h e r agree t h a t p e r m i s s i o n f o r e x t e n s i v e copying of t h i s t h e s i s f o r s c h o l a r l y purposes may be granted by the head o f my department or by h i s or her r e p r e s e n t a t i v e s . I t i s understood t h a t copying or p u b l i c a t i o n of t h i s t h e s i s f o r f i n a n c i a l g a i n s h a l l not be allowed without my w r i t t e n p e r m i s s i o n . Department of CIVIL ENGINEERING The U n i v e r s i t y of B r i t i s h Columbia 1956 Main Mall Vancouver, Canada V6T 1Y3 Date O c t o b e r 1 2> !9 8 4 ABSTRACT Improvements in design, achieved through a better understanding of fabrication costs, may cause an overall cost reduction for steel structures. A flexible estimation routine, able to satisfy the needs of the particular user, has been developed to provide the mechanism for design evaluation. The functions used by the estimation program are provided by a Multiple Linear Regression (MLR) analysis of data collected by an Information System (IS). The integration of fabrication control and analysis provided by this system permits i t s implementation in existing environments, and presents an important technological gain for the fabrication process. Traditional design approaches which have relied heavily on experience can now be evaluated and improved in terms of cost competitiveness, prior to or during fabrication, by the proposed MLR strategy. - i i -TABLE OF CONTENTS Page ABSTRACT i i TABLE OF CONTENTS i i i ACKNOWLEDGEMENTS iv 1. INTRODUCTION 1.1 Background Information 1 1.2 Research at U.B.C 2 2 . STEEL STRUCTURES - Design and Fabrication 2.1 Design Efficiency , 5 2.2 Fabrication Costs 6 2.3 Erection Costs 9 2.4 Current Practice 10 2.5 Design/Fabrication Interaction 13 3 . COMPUTER AIDED DESIGN EVALUATION 3.1 The Design Evaluation Program (ESTImate) 17 3.2 Multiple Linear Regression and the Information System 3.2.1 Motivation for MLR 21 3.2.2 The Information System 24 3.2.3 Example Use of MLR 26 3.2.4 MLR - Design and Theory 30 3.3 Applications of Program ESTImate 3.3.1 Design Optimization 34 3.3.2 Improvement of the Fabrication and Estimation , Processes 36 3.3.3 Research and Education 37 4 . SUMMARY 4.1 Conclusions 38 4.2 Extensions of this Research 39 REFERENCES 40 APPENDIX 42 - i i i -ACKNOWLEDGEMENTS The investigations and research contained in this thesis were made possible by a Natural Sciences and Engineering Research Council of Canada (NSERC) postgraduate scholarship. Manfred Frank, Chief Engineer of the Western Bridge Division of CANRON INC., and Siegfried F. Stiemer, Associate Professor in the Department of C i v i l Engineering at the University of British Columbia, who was my supervisor, are due sincere thanks for their guidance and cooperation. I am especially grateful to Elaine Lee, my friend, who provided me with motivation throughout my research. - iv -1. INTRODUCTION l . 1.1 Background Information Over the past few decades, the design and fabrication of structural steel in Canada and the United States has followed a procedure which was based on the experience of the design profession and the results of a few independent studies. Improvements in design were found by minimization of material weight by von Hoerner (1982) [18], and Schmit (1960) [16], by repetition of similar shapes by Moses and Goble (1970) [11], and by stimula-tion of design/fabrication Interaction by Forde, Leung and Stiemer (1984) [7]. Until now, most of these efforts have fallen short of providing "minimum cost designs", simply because the costs incurred during fabrication have been only approximately known. The cause of this uncertainty can be attributed to the nature of the design and fabrication processes which make each project unique. The problem facing fabricators is to identify where costs are incurred, to predict these costs for future jobs, and to control and monitor the process. Recording fabrication times and process costs, In the detail necessary for the estimation process, has been found to be too tedious and expensive to justify the information that i t provides. For this reason, there has been a trend towards collecting information on a global perspective. Recent developments in microcomputer technology offer a means of economical data storage and analysis. The addressable memory and storage capability of many systems easily satisfy the requirements of designers and fabricators. The simplifications, and improved efficiency, that are 2. potentially available from a computerized fabrication process, have provided the predominant motivation for research in this area. 1.2 Research at U.B.C. An extensive research project has been started at the University of British Columbia in the areas of design evaluation and fabrication analysis. One goal of this project is to establish a mechanism which integrates the design and fabrication processes so that a better understanding of costs is obtained. To meet this goal, several smaller projects must be completed. Fabrication analysis can be divided into the collection, analysis, and feed-back of fabrication data. Design evaluation requires the development of a flexible estimation program, structural analysis and code requirement modules, and improvement or optimization routines. Further projects that are required in order to assure integration of the whole include several modules that provide user friendly Interface for Interactive input, and compatibility for transfer of information between modules. This thesis provides an overview of the total project, with extensive research in two areas: (1) Estimation of fabrication times; (2) Analysis of fabrication data. Design evaluation In terms of cost can be done using the estimation program which is described in this . thesis (ESTImate). This program systematically breaks projects down into basic elements, estimating the time and cost involved in performing a set of standard fabrication operations. Owing to the individualistic nature of each fabrication plant, the estimation programs used by various contractors are not the same. Since there exists no universal standard, nor should there as this would exclude the potential for improvement, a flexible estimation program is essential. Program ESTImate has been developed by adopting a fourth generation approach to programming [13] which makes i t exceptionally versatile for the construction of estimation equations. Factors contributing to the requirement of flexible estimation are: (1) The fabrication process is not a mass production, so the estimation routine must be able to accept a wide variety of projects. (2) Fabrication plants are application oriented, with some being better equipped to do specific projects than others, hence one must allow for a variety of fabrication techniques. (3) Design evaluation must be done in a detailed manner, as provided by an estimation program, so that improvement or optimization can be achieved. The conversion of information which is gathered from a global perspec-tive, to detailed information which is required for estimation purposes, can be done through the use of a comprehensive information system by Berry (1984) [2] coupled with a multiple linear regression program. The implications arising from the use of MLR are: (1) Information need only be collected at "checkstations" which are located at key locations throughout the plant. (2) Integration of scheduling, controlling, and estimating is made possible through the use of an information system which collects this data at the global level. (3) The fabrication plant can be evaluated in terms of performance and economy by analyzing the data collected by this information system over a period of time. 4 . The multiple linear regression module that has been developed as part of this thesis i s capable of analyzing data collected from a global perspective only. Establishment of intermediate checkstations w i l l provide information which requires a more sophisticated analysis. 2. STEEL STRUCTURES Design and Fabrication 2.1 Design Efficiency The efficiency of a structural design can be defined as the extent to which i t satisfies structural, architectural, and cost constraints. The role of the structural engineer in the design process has traditionally been to choose and design the most efficient structural system subject to the given constraints. This has been no easy task, since the constraints are linked so that there must be some tradeoff made in reaching the optimal design. Archi-tectural requirements are generally defined by the owner as a given require-ment of the project, so structural form is to be varied to provide the most economical design. Another important fact complicates the situation: in most cases, the designer w i l l not have access to the necessary cost data; hence, the formulation of the design objective can not be in terms of a cost function, and the designer is unable to perform formal structural cost optimization. In the past, "experience" has been the key to efficient structural steel design. Successful engineers have established design guidelines which take advantage of Information that has been acquired through Interaction with fabricators. However, in an effort to maintain confidentiality of their direct costs, fabricators are li k e l y to provide the designer with information of only a qualitative nature. The fabricators have a more quantitative look at the information since they are able to directly view the operation and can account for the costs as they are incurred. Nevertheless, sometimes even the fabricators are unsure of the exact costs associated with various structural forms, due to the variation of the type and quantity of work done for any one project. 6 . The size and complexity of the projects that are undertaken by most structural steel fabricators vary significantly over time. It is this inherent va r i a b i l i t y of the structural steel fabrication process which poses the largest problem to the designer. In order to assign a cost to an arbitrary structural form, costs for each component can be calculated from a standard set of fabrication variables, which are in turn determined and updated through analysis of past projects. The fabrication process, although composed of physically simple operations, as a whole i s extremely complica-ted; hence, associating costs with the fabrication of specific structural components i s d i f f i c u l t . In fact the volume of work Involved in the collection, organization, and analysis of data required to identify where costs are incurred has effectively eliminated this approach from conventional practice. To surpass this barrier, the designer must investigate the nature of the costs associated with the fabrication process. 2 . 2 Fabrication Costs The cost of fabricating steel structures may be broken down Into four major categories: 1. Material ; 2 . Labour ; 3 . Equipment; 4 . Overhead . Steel i s purchased from a mill at a unit cost per weight, plus some additional charges also based on weight; hence, the cost of material is approximately proportional to the weight of the structure. This has been the major driving force for minimum weight design, since minimizing the weight 7 . also minimizes the material cost. Minimum weight approaches, although academically appearing to be reasonable, have been found to provide designs which are often impractical [10]. 1 UoH I sa'.J "minimum " t i gh t ' Figure 1 . Minimum weight •*• Minimum cost? Labour and equipment costs are not so easily related to the form of the structure. Obviously some designs are more efficient than others in terms of ease of fabrication, but i t is d i f f i c u l t to determine why. A key factor in these costs i s material handling, which appears to be one area in the fabri-cation process which has large potential for improvement. Handling costs are presently assumed to be some percentage of the costs directly related to the fabrication operation. The reduction in costs associated with repetitive structural forms may be attributable to improvement in productivity for many operations in the fabrication process, such as material handling, set-up time, and labour efficiency. Designers try to account for this by using as 8 . many similar components as possible in a structure. The rising labour and machinery costs are becoming an increasingly important part of the overall cost, so a more deterministic approach to their evaluation is needed. The fabrication cost of the ith structural member type can be written as: n i °i c - N [E c W + E c T ] ( 1 ) 1 j=l m j 3 k - 1 k k where c ,c„ are unit costs for material and labour, m a is the weight of material j . T^ is the time required to perform operation k. n^,o^ are the number of components and operations for member i . N is the number of identical members. This equation appears to be the standard in use by most fabricators. The f i r s t component represents the material cost (in terms of weight) and the second comes from the direct labour costs (in terms of time). Typical operations used In the fabrication process are: shearing, sawing, burning, punching, d r i l l i n g , making templates, f i t t i n g , welding, cleaning, painting, handling, machining, etc. Equations which can be used to estimate the times associated with these operations have been developed by Leung [ 9 ] , and are used as a basis for the example problem shown in the appendix. The quantity of material fabricated has an unknown influence on the productivity; hence, an Interaction diagram must be developed from experience relating N to T. One method of doing this is to monitor the daily operations of the fabrication plant so that a time-history plot of the work being done is available. This information can be used to identify the rate 9. at which work is proceeding on various components of the structure as functions of time, which can be translated into curves which represent productivity improvement due to repetition of similar acts. The total cost of a structure can be written as the sum of the component costs: Total Cost = E(C.) + 0 (2) J C^ = cost of component i (as given in equation 1) 0 = overhead costs Examining these equations reveals that: c^ and c^, are known constants; W and T are known functions of N; and N is the variable that we can manipulate to reduce the costs. 2.3 Erection Costs The current procedure for estimation of erection costs has a large uncertainty associated with i t s accuracy. The estimated cost of erecting an arbitrary structure has commonly been based on the material weight, without provision for the complexity of the erection procedure. Obviously, some structures are more erection friendly than others; hence, some fabricators w i l l alter their costs by a factor from experience. Decisions of this nature have been in error by as much as 100% and more due to the large variations in productivity associated with the erection activities [9]. These variations may be attributed to the same kind of improvement trends which result from repetitive activities as encountered in the fabrication process. The proposed procedure for evaluating erection costs follows a similar outline as for fabrication costs. Costs associated with an arbitrary 1 0 . structure w i l l be calculated from a set of standard activities performed during erection (transportation, sorting, l i f t i n g , bolting, etc.). A large portion of equipment used during erection is rented; hence, equipment cost is proportional to the erection time. This Is quite different from the fabrica-tion process where most equipment is owned by the fabricator and can be essentially considered as overhead. The programs developed in this thesis are primarily intended for use in the fabrication process; however, they are flexible so that costs for erection and other construction activities can also be incorporated. 2.4 Current Practice Most structures that are constructed in Canada and the United States follow a process which has been established for historical, p o l i t i c a l , and economical reasons. The three parties involved in the construction process are: the owner, a consultant, and a contractor. The owner employs the consultant to design the structure, and to supervise the contractor who performs the construction of the structure. Since the design is partially or f u l l y complete at the time when the contract is put up for tender, the design usually w i l l have been done without any interaction between the designer and the contractor. This kind of practice is only acceptable i f the designer can foresee the costs associated with various structural forms, so that the design with minimum cost can be chosen. For steel structures, the majority of the cost is incurred in a fabrication plant, of which the designer has only a l i t t l e knowledge. In this case i t is apparent that the consultant is unable to design the most cost efficient building, unless there Is some interaction with the fabricator. 1 1 . The internal organization of most structural steel fabrication companies follow the functions shown in Figure 2 as adapted from a paper by Adlard [1]. Three categories are of interest to us. Business, production, and engineering a l l have equally important roles in the overall construction process, yet there has been a trend in the past towards concentrating effort in areas where productivity is quantifiable. Since there exists a standard method for evaluating the business aspects of one operation, by comparison against the rest of the corporation's portfolio, decisions regarding company policy are usually formulated at this level. STRUCTURAL STEEL FABRICATION BUS I K I S S PRODUCTION KMCINIERIKG Resource Manages* a t Economic Accounting Product ion C o n t r o l Document Prepa r a t i o n T e s t i n g A n a l y s i i 1) P U n t L a y o u t 2) I n v e n t o r y 3) S c h e d u l i n g 4) Manpower U t i l i z a t i o n 5) S t r a t e g i c P l a n n i n g t ) C o a t C o n t r o l 2) C o s t E s t i n a t i o n 3) P r o c e s s A n a l y s i s 4) G e n e r a l A c c o u n t i n g t ) I n v e n t o r y 2) R o u t i n g / S c h e d u l i n g 3) M a t e r i a l H a n d l i n g 4) QC/QA 5) M a i n t e n a n c e 6) P u r c h a s e / R e c e i v e 7) D a t a Management 1) P a r t s D a t a b a s e 2) D r a f t i n g 3) M a t e r i a l B i l l s 4) D a t a Management 1) P r o d u c t i o n C o s t D a t a A c g u i s i t i o n 2) P r o d u c t i o n P r o d u c t i v i t y D a t a A c q u i s i t i o n 1) D e s i g n S t a n d a r d s 2) D e s i g n B v a l u a t i o n 3) P r o d u c t i o n B v a l u a t i o n 4) R e p l a c e m e n t 1 n v e s t m e n t A n a l y s i s * QC/QA - Quality Control, Quality Assurance. Figure 2. Organization of Structural Steel Fabrication Functions. Strict short terra cost justification methods based on return on invest-ment have been shown to provide inadeqate analysis of decisions regarding process expansion and improvement [1]. The real problem here is not that the wrong method of analysis is used, since surely a l l good company policy 1 2 . c r i t e r i a are linked in some way to profit maximization, rather that the analysis i s being done without the proper information. The various functions involved in fabrication are linked as shown in Figure 3. Conventional methods of documentation lead us to a maze of information contained in: progress statements, manpower ut i l i z a t i o n summaries, cost control data, etc. The inevitable result is a process which involves much doubling up of effort and a general lack of communication between the various departments. Many of these problems can be eliminated through the use of common databases. This would be possible in a computer integrated manufacturing environment [1]; however, the scope of this thesis is limited, so the implementation of this process must be left for others. Typical Interaction: (1) Project Documents, Scheduling, Design Revisions/Proposals. ( 2 ) Project Documents, Estimates, Strategic Planning, Design Evaluation. (3) Process Data, Shop Drawings, Material B i l l s . ( 4 ) Progress Reports, Manpower Utilization, Scheduling, Inventory. FABRICATOR ERECTOR CONSULTANT DESIGNER (1) DESIGN TEAM Figure 3. Current Links to Design and Fabrication Functions. 1 3 . Assuming that the fabricator has resolved the internal problems mentioned above, attention should be redirected to another important link: the one between the designer and the fabricator. Presently, several structural steel fabricators receive design drawings from the consultant withthe invitation to tender. A detailed fabrication cost estimate is made from these drawings and submitted back to the consultant in the form of a bid. At this time the fabricator has identified some areas where savings can be made by suggesting some structurally equivalent, but more cost efficient designs for certain components of the structure. Quite often the designer may receive notice from the fabricator at the time of the bid that there may be some means of cutting costs, since this i s an effective means of making his bid more attractive. But after this time, these changes are usually not suggested by the fabricator due to the inability of the design process to easily accept changes. The characteristics of each fabrication plant depends on the size, and type of projects that the fabricator i s involved with. This means that every fabrication plant w i l l have Its own set of cost variables which make i t more suitable for the fabrication of certain types of structures than for others. Thus, interaction between the designer and the fabricator is essential for a l l projects, and must become an integral part of the construction process. 2.5 Design/Fabrication Interaction The proposed implementation of a new design/fabrication system as opposed to that currently in existence is shown in Figures 4a and 4b. Under the current system there i s no r e a l i s t i c method for design optimization, since there is basically no direct interaction between the designer and the 14. fabricator. The unidirectional flow of information in the construction of most projects is marked by the inability of the design process to accept changes (whether beneficial or not) as suggested by the fabricator. Experience' gained by the fabricator during the course of his work is often prevented by the design process from being put to i t s best use. The designer is unable to accommodate the fabricator's desires once the job is awarded because of an inflexible design process, yet the fabricator i s not ready to " t e l l a l l " before this time since this may give away some competi-tive advantage. This dilemma cannot be completely overcome in conventional practice, but a compromise can be made. Mutually acceptable revision procedures could accelerate the flow of information between the two parties so that improved designs can be put forward at the moment they are envisioned. Further cooperation involving sharing of savings, and bonuses for innovative advances, could lead to established optimization procedures. The proposed design/fabrication process (Figure 4b) provides a mechanism for fabrication analysis, which offers continuously improved estimation and design procedures. This may remove the heavy dependence upon experience found in the current process (Figure 4a), but i t arouses another large research topic. The use of such a system in practice requires further investigation and analysis in terms of the effects that this may have on the contractual obligations of the parties involved in the construction process. Direct application of the research contained in this thesis is currently possible for design-build contracts, and once the legal aspects mentioned above are resolved, application w i l l also be made in conventional practice. Preliminary Design EXPERIENCE consultant fabricator ;ure 4(a). Current Design/Fabrication Proce Figure 4(b). Proposed Design/Fabrication Process. COMPUTER AIDED DESIGN EVALUATION 17. 3 . 3.1 The Design Eva luat ion Program " F l e x i b i l i t y " was the primary design c r i t e r i o n for a program which I c a l l e d ESTImate. The use of convent ional programming techniques was found to provide too many r e s t r i c t i o n s and too much coding to accommodate the a r b i -t r a r y project and process data found i n the f a b r i c a t i o n indus t r y . Recent advances i n compiler const ruc t ion provided a mechanism fo r generating an a r b i t r a r y set of FORTRAN equat ions, and then compil ing and l i n k i n g them to the rest of the program, a l l from wi th in the program. This technique i s r e fe r red to as a four th generat ion approach to programming [13], and i s one of the key elements of th i s t he s i s . The const ruc t ion of an est imat ion rou t ine , which can process large quant i t i e s of data us ing a r b i t r a r y est imat ion equat ions, could be approached i n many ways. Severa l computer software f i rms have developed programs for s i m i l a r k inds of usage. Most of these programs (VISICALC, CALC, e t c . ) are geared towards the In te rac t i ve user , and are based on the t r ans l a t i on of screen commands in to mathematical opera t ions . The i nd i v i dua l equations as input by the user , whether i n batch mode or by d i r e c t means, must be i n d i v i d u a l l y converted to t he i r mathematical equ iva lent . Both the l og i c of the express ions , i n terms of the order of the opera t ions , and the mechanism for storage during c a l c u l a t i o n must be i n t e r n a l l y c o n t r o l l e d . This means that the en t i re syntax and con t ro l a lready ava i l ab le i n higher l e v e l languages (FORTRAN, Pasca l , C, e t c . ) are dupl icated by these programs. Some software i n th i s area has p a r t i a l l y overcome th i s redundancy by programming i n an assembly language, where the user must cont ro l a l l funct ions of data 18. storage and manipulation. This approach has been shown to be successful for i t s intended interactive application; however, i f the program is to process large quantities of data using the same set of equations, then a great deal of time and storage w i l l be wasted by redundant operations. The solution to this d i f f i c u l t y in programming comes from assessing the needs of the user. The program w i l l be used on a regular basis by designers and fabricators for cost estimation, and w i l l only be updated when i t has been shown to be in error. This w i l l l i k e l y be done at regular intervals (weeks, months, years) depending on the quantity and type of work being done by the user. From this description of user needs, i t is apparent that the previously discussed techniques are much more flexible than required for our purpose, and that another approach is needed. If the program was never to be updated by the user, then one could simply incorporate the equations right Into the code. This would be acceptable i f the user was familiar with the organization of the program and was able to properly link his work to the rest of the coding. In most circumstances, the personnel involved with this program w i l l change over time and there w i l l be some loss of familiarity associated with this transition. To avoid this problem, a system was developed to allow the construction of an estimate subroutine f i l e (which contains the estimation equations) by means of a program. This routine, depicted in Figure 5, does the same kind of interpretation and translation that the interactive calculator programs do, but rather than compute the results i t assembles a program which w i l l be used for that operation. "READACT" is a subroutine which reads estimation functions from the activity database, while "VLE" reads a l i s t of variables and their descriptions from a variable database. Subroutine "CREATE" assembles the estimation functions 19. Into equivalent FORTRAN expressions, checking the logic of the input data. The result is an estimate subroutine f i l e which contains a complete FORTRAN subroutine which w i l l be used for estimation. A C T I V I T Y DATABASE - E s t 1mat i o n functions REAOACT VARI A B L E DATABASE - V a r i a b l e l i s t - d e s c r i p t i o n s VLE 1 i SUBRQUTINE CREATE ESTIMATE SUBROUTINE F I L E Figure 5. Construction of the Estimate Subroutine File. The estimate subroutine f i l e must be compiled and linked to the rest of the program to complete the program construction. The preliminary version of ESTImate uses a VAX 11 run-time library function (invoked by subroutine "GETSUB") to do this from within the program; however, later versions running on UNIX could do this by other means. The use of the estimation routine is then done as in Figure 6. A quantity database, containing a l l physical properties and activity methods is read by subroutine "READQUAN", while "VLE" i s used to read a control f i l e which defines the content and format of the output data. Subroutine "ESTIMATE" computes a l l of the estimated times/costs for each activity and writes this information to the estimate database. 2 0 . V A R I A B L E OUTPUT CONTROL o u t p u t v a r i a b l e s EST I MA T E SUBROUTINE F I L E QUANTITY DATABASE P h y s i c a l p r o p e r t i e s A c t i v i t y m e t h o d s VLE GETSUB . REAOOUAN I 1 1 ( SUBROUTINE ESTIMATE ESTIMATE DATABASE - E s t i m a t e d T i m e s / C o s t s f o r e a c h a c t i v i t y Figure 6. Using the Estimation Subroutine. Information contained In the estimate database can be used in a variety of manners. Consultants may u t i l i z e this information as a means of design evaluation in an optimization routine. Fabricators can use i t to summarize their bid proposals, to analyze their fabrication plant, or to assess the accuracy of their estimation functions. The preliminary version of ESTImate has a multiple linear regression routine (Figure 7, which reads from the estimate and information system databases, using subroutines "READESTI" and "READIS", and computes regression coefficients which can be used to update the activity database. Input mechanisms (QINPUT, ISINPUT) are not included in the existing program, but are shown in Figure 8 to demonstrate their potential use. The assembly of the quantity database can be automated using a tablet or menu approach, as shown by Leung [ 9 ] , depending on the preference of the user. ESTIMATE DATABASE E s t i m a t e d T i m e s / C o s t s f o r e a c h a c t i v i t y INFORMAT I ON SYSTEM DATABASE - A c t u a l T i r o e s / C o s t s READESTI c i i L REAOIS SUBROUTINE M L R M L R c o e f f i c i e n t s - u s e d t o u p d a t e A c t i v i t y D a t a b a s e Figure 7. The Multiple Linear Regression Subroutine. Input to the information system database can be done by cross-referencing the estimate database and the actual times/costs experienced in the shop. Bid and schedule output is dependent upon both the user's preference and the hardware to be used, so they are not installed. Use of program ESTImate is explained in detail by the user's guide in the appendix. 3.2 Multiple Linear Regression and the Information System 3.2.1 Motivation for MLR With a primary concern of assessing the accuracy of individual cost estimation parameters, solely from information which has been collected on a global basis, a systematic method of analysis is needed. This system must be (D T3 O 1 rt H-O 0 o o 9 W •a c M r| (B (D rt (t> CO Cu • CT , 3 Br rt =r O CO to CO rt H» 0° n> CO H-W 01 < H> M CO c p> (D rt 3 O o M a O CO (I> i-« o OQ CT 1 v: P> 5 rt • a4 a> o rt rt n M s (0 ACTIVITY DATABASE - Est(mat ion funct tons VARIABLE DATABASE - Var(able 1 1st - descriptions VARIABLE INPUT CONTROL - Input variables - Input descriptions CISC DATABASE -Sect ion propertles QUANTITY INPUT CONROL - input format 1 i \ i VLE SUBROUTINE CREATE \ 1 CI5C _ i (SUBROUTINE \ * — — INTERACTIV OINPUT I INPUT J (by Est(mat VE or) VARIABLE OUTPUT CONTROL -output variables ESTIMATE SUBROUTINE FILE QUANTITY DATABASE - Physical properties - Activity methods INFORMATION SYSTEM INPUT CONTROL - input format VLE kGETSUB f SUBROUTINE ESTIMATE READQUAN 1 f • REFERENCE -to Estimate \ (SUBROUTINE A* ISINPUT J INTERACTIVE INPUT (by Shop) ESTIMATE DATABASE Estimated Times/Costs for each activity INFORMATION SYSTEM DATABASE - Actual Times/Costs \ READFSTI READIS 3 SUBROUTINE MLR / \ Not j Completed SUBROUTINE SCHEDULE MLR coeffIcients - used to update Activity Database SCHEDULE OUTPUT Progress reports Schedu1es rO 23. able to break down times (or other characteristic parameters) measured at the entrance and exit from a shop to determine how much effort was spent on various operations during the fabrication process. Multiple linear regression is a technique that can perform this kind of analysis. DETAILED INFORMATION Estimation functions. Figure 9. The Conversion from Global to Detailed Information. The mechanism for collecting this global data, and the best locations for establishment of "checkstations" in a particular plant, can be determined by analyzing the combination of existing processes and the needs of the fabricator in terms of scheduling, controlling, and estimating. The collection of data for MLR is intended to take advantage of current procedures and control methods rather than to impose a new system in place of the old. The existing control system may collect a l l of the information required by MLR, or i t may need some discrete modifications to upgrade i t to that level. The individualistic nature of fabrication plants, complimented with the need to monitor and control the fabrication process, accentuates the u t i l i t y of multiple linear regression analysis. The concept of an information system based on a checkstation approach arises for psychological and economical reasons. Monitoring of individual GLOBAL INFORMATION Times/Costs measured in the shop. 24. activities in the shop is unwanted by the workers, since this would mean that the productivity of each worker could be investigated, nor is i t wanted by management since the cost and the time associated with keeping track of operations would be prohibitive. The ideal situation offered by this system would be to establish a few key locations in the fabrication plant from which global data pertaining to item progress would be extracted. The data gathered at these checkstations can then be converted to offer information which would evaluate the accuracy of the estimation process, to provide scheduling and controlling data for plant operations, and to assess the fabrication plant in terms of i t s productivity and economy. This approach to information collection, organization, and analysis can provide both the short-term improvements that the fabricators are obligated to meet, as well as the long-term technological competitiveness that the North American industry is lacking [8]. 3.2.2 The Information System An information system is a planning and control process which is based on the collection, organization, and analysis of data u t i l i z i n g a computer. SHOP Performance of the fabrication operations GLOBAL INFORMATION Times/Costs measured in the shop. Figure 10. The Information System (IS). 25. This system, as described by Berry [2], w i l l gather information from the shop on a regular basis so that i t may be used to analyse the fabrication process. The programs developed i n this research project are able to accommodate an arbitrary WBS so that they can be applied to existing fabrication operations. The implementation of an information system in a non-computerized environment is l i k e l y to be done over some period of time; hence, i t must be compatible with the present manual system so that regular operation can be maintained during the transition period. The requirement of compatibility is to have the a b i l i t y to accept and transmit information that is normally handled by the present system without requiring extensive changes at the base level. This can be achieved by doing the replacement in a modular nature. Care must be taken to avoid simply duplicating the present system in a computerized form, since this may accentuate the limitations and inefficien-cies inherent in the manual system while ignoring the newly available computer graphic aids (tablet and menu I/O mechanisms). The operation and efficiency of an information system is dependent on the "language" of the data communication. A work breakdown structure, which represents the fabrication process in code form, must be implemented to f a c i l i t a t e effective communication between users of the system. The design of a work breakdown structure must be independent of the organization-responsibility structure, so that information pertaining to one item has the same meaning at various levels of production. Information which has been translated into code should be meaningful to the users, so that the work breakdown structure can be associated with physical operations in the fabric-ation process. 26. The data collected using the work breakdown structure can be organized to provide two types of information: project data, and process data. Project data pertains to a particular project or structure, and w i l l be organized In a structure database. Each item (consisting of N identical pieces) i n the structure database w i l l be tracked through the plant by monitoring item progress at key operation checkpoints. A time/progress record for each item w i l l be available to the fabricator, so that a deterministic analysis of the costs incurred during the fabrication of various structural components may be performed. Process data pertains to a l l plant processes (cleaning, cutting, drilling/punching, welding, material handling, etc.). This data is assembled from the same monitoring operation as project data, but Is organized to provide information about the efficiency of the plant i t s e l f . Simulation of the fabrication plant operation is required in order to evaluate the efficiency of the plant configuration, and with the use of the process data examination of expansion or replacement investments are made possible. Thus, an interactive plant optimization can be done by Investigating each activity in the fabrication process. Monitoring the job progress from the component level provides information which would be used by engineering, drafting, purchasing, shop, shipping, and managerial operations. This information could then be used to interactively optimize the processing of material through the plant. 3.2.3 Example Use of MLR The use of a multiple linear regression model could be applied in a variety of manners; however, in the following case study a "material b i l l 27. approach" was adopted. The actual data used for this example is presented in the ESTImate User's Guide on pages 12-24 (see Appendix). Each item on a material b i l l was considered independently. Five different operations were investigated (shear, saw, burn, d r i l l , punch), and the information was collected only at the entrance and exit from this particular part of the shop. This choice of example was purely for the sake of simplicity, and would l i k e l y have to be expanded for commercial use. The schematic drawing of a portion of a fabrication plant shown in Figure 11 represents the process under consideration. Incoming items are given pre-designated paths which they w i l l follow through this area. Again some simplifications have been made to cl a r i f y the example. Figure 11. Example Shop Area. Before the MLR analysis can be done, data contained In this material b i l l w i l l be used by the estimation subroutine to calculate the estimated times to perform the fabrication operations. Then the information system subroutine receives an input f i l e from the estimation subroutine, which 28. contains the estimated times to perform the operations required for each item on the material b i l l . Through Interactive input from the user i t compiles a datafile which contains the actual times measured In the shop. Input to the MLR program includes the estimated times for each item to complete a set of fabrication operations ([X]), and the times measured by the information system that were actually experienced in the shop (Y). Within the MLR program the regression coefficients (b) and the residual differences (U) w i l l be determined. Choosing this formulation provides output which is e a s i l y understood, since a regression coefficient of b^= 1.00 indicates that the actual time experienced i n performance of operation i Is exactly the same as that which was estimated. This provides information which allows for easy adjustment of the estimation parameters, since the corrected value is simply obtained by multiplying the regression coefficient by the old value. To test the MLR program the IS data was arb i t r a r i l y adjusted so that the actual times required to perform activities 1, 3, and 5 (shearing, burning, and punching) were a l l increased by 10%. Variations of this sort may appear to be semi-random to the untrained eye, yet they should be easily recognized by the MLR program. This is indicated by the MLR program since i t returned values of b 1 = b 3 = b 5 = 1.10, and b 2 = b^ = 1.00. The steps used in the following example were: (1) Input data Is summarized in a material b i l l ( a l l physical properties used by the estimation program). (2) Estimated times [X] for each activity are calculated by the estimation program for each item on the material b i l l . (3) Actual global times (Y) are measured by the information system for each item on the material b i l l . ESTIMATION FUNCTIONS Used in the construction of the Estimation Program. Actirhj SX«15.0+(I*0.»5*LENGTH)*N SP-4.6*4.5*N SS-(6.65*0.43«WTPL*0.1•LENGTH)*N ESTIMATED TIMES 29. MEASURED GLOBAL TIMES hfonnatiee Spton Ditabase BP BS DP. PU SA SS 1 W920X253 0.0 1 8 9 . 2 0.0 282. 1 0 0 0 0 1 5 1 6 4 2 W760X147 0.0 235. 4 0.0 450. 4 0 0 0 0 2 754 4 3 W610X140 0.0 0. 0 772.0 0. 0 0 0 1 3 5 9 2 3 2131 2 4 W530X109 0.0 153. 4 0.0 241. 3 0. 0 0 0 4 434 2 5 W460X74 0.0 0. 0 254.0 0. 0 0 0 393 4 5 647 4 6 W360X79 0.0 0. 0 0.0 269. 5 0 0 1 155 8 6 1452 3 7 W250X89 0.0 209. 4 1236.0 0. 0 0 0 0 0 7 1466 3 e L125X125X10 0.0 0. 0 0.0 180. 4 63 0 0 0 8 267 7 9 L90X90X10 0.0 0. 0 0.0 110. 5 41 1 0 0 9 166 8 10 L90X90X10 0.0 0. 0 0.0 102. 3 46 2 0 0 10 163 4 1 1 L75X75X10 0.0 0. 0 0.0 116. 8 72 5 0 0 1 1 208 2 12 PL50X720 256.2 0. 0 188.0 0. 0 0 0 0 0 12 472 D 13 PL14X3860 130.0 0. 0 132.4 0. 0 0 0 0 0 13 275 4 14 PL30X600 303.8 0. 0 120.0 0. 0 0 0 0 0 1 4 454 2 15 PL12X1500 150.7 0. 0 109.6 0. 0 0 0 0 0 15 275 4 FEEDBACK TO ESTIMATION FUNCTIONS Not developed in th i s t h e s i s . REGRESSION COEFFICIENTS B( 0) M 0.0 B( 1 ) m 1.10 B( 2) m 1.10 B( 3) m 1 .00 B( 4) m 1.10 B( 5) « 1.10 B( 6) 1 .00 These c o e f f i c i e n t s show how the estimation program performed on the late s t project by evaluating the accuracy of each individual estimation function. Figure 12. Example Use of Multiple Linear Regression (MLR). 30. (4) Multiple linear regression Is performed on the two sets of times to identify where the estimate has been in error. (5) The regression coefficients (b) indicate which fabrication operations were consistently in error and by how much. While the above example has demonstrated the tremendous u t i l i t y of the MLR program one must recognize that real fabrication data is not l i k e l y to be as consistent as was used there. Variations in productivity are to be expected at a l l times. The nature of MLR modelling is such that, i f given enough data, these variations can be essentially "ironed out" so that the best values for the estimation parameters can be obtained. The degree of certainty associated with a set of regression coefficients can be measured by examining the "goodness of f i t " provided by the given data. Utilization of statistics can provide an effective means for identifying data which is inconsistent with previous experience, and for locating problem areas in the fabrication process. 3.2.4 MLR - Design and Theory The theory behind multiple linear regression is similar to least squares f i t t i n g for two dimensional sets of data. The same concepts of minimization of the sum of squared residuals apply except that the number of dimensions over which the minimization is performed is not limited. Formulation of the problem in matrix form can be done as follows (see Chatterjee (1977)) [2]: 31. X01 X l l ' ' * X p l y l U l b i [X] = ? 2 ) Z ? 2 Y = U = . 2 b = . 2 (3) . . . . — . — • . . . . . . . . . . . . x, . . . x y u b On In- pn n n p where [x] are the independent variables Y are the measured data values 1) are regression coefficients U_ are random disturbances x . =1 for a l l i ( f i r s t vector simply provides for a constant value) ol n i s the number of data values p is the number of contributing variables Estimate b by minimization of the sum of squared residuals. n S(b b ,...b ) = I u 2 (4) 0 1 P 1 = i 1 = ^ ( y ± - b Q - V l ± - b 2 x 2 1 - . . . - b ^ ) 2 (5) Differentiation yields the following set of linear equations to be solved: S l l b l + S12 b2 + S13 b3 + ' ' ' + V p " Syi S 2 1 b l + S22 b2 + S23 b3 + ' • ' + V f - = Sy2 <6> S ,b, + S „b_ + S -b 0 + . . . + S b = S pi 1 p2 2 p3 3 pp p yp n _ where S±^ » £ ( x i k - x ^ x . ^ - x^) i , j = l,2,...p (7) (pxl) = (pxp)(pxl) The fin a l estimate is then: With observed residuals 32. S , = E (y, - y)(x., - x.) y i , , w k J / v ik i k=l i = 1,2,...p (8) n E x k=l ik (9) n k=l * (10) Solution of these equations is done by inversion of [S]. [S] b = S (pxp)(pxl) = (pxl) providing the regression coefficients b. (11) b = [S]" 1 S (12) b_ = y - b.x- - b 0x. - b_x_ - . . . - b x 0 •' 11 2 2 3 3 p p (13) y 4 = b Q + b l X u + b 2 x 2 i + b 3 x 3 i +• • . + b „ x p pi (14) U i = y i " y i (15) 33. Application of MLR theory to the problem of assessing estimation parameters requires an examination of the fabrication process. Standard estimation equations, which come from experience, usually relate the time required to perform an act to some physical characteristic of the material (weight, length, thickness, etc.). Since the original estimation parameters were obtained through case studies, i t is likely that the investigators tested similar dependent characteristics for a l l of the operations. For example, one property that i s used in almost every case is the weight of the material. This implies that the estimation of different fabrication opera-tions are somewhat dependent on each other, even though in reality they may be very independent processes. From MLR theory one cannot distinguish between deviations in global data for concurrently measured dependent vari-ables; however, this problem can be solved by ensuring that some measurements are taken when one or the other variable is not present. Thus, the applica-tion of MLR is valid only i f i t i s performed by one who i s familiar with the fabrication process, and i f sufficient data has been collected. Development of extensive software for use in this area w i l l likely be able to overcome this barrier, so that a userfriendly program can evaluate individual applications of MLR in terms of validity and logic. This kind of program would eventually provide user interface (I/O) that requires l i t t l e knowledge of the processes involved In multiple linear regression, so that data can be analyzed e f f i c i e n t l y without having to perform a set of tedious mathematical operations. 34. 3.3 Applications of Program ESTImate 3.3.1 Design Optimization As previously explained, structural cost optimization has not been performed in the past due to a lack of cost information. During this time, the design profession has used some other design tools, combined with some good common sense, to attain near optimum cost designs. One not very successful approach has been to calculate a minimum weight design in order to minimize the material costs. Experienced designers recognize that cost savings due to the peculiarities of the fabrication process could be attained through design simplification and repetition of elements. The problem facing designers, is s t i l l to determine the tradeoff point between these philoso-phies which produces the minimum cost design. The ESTImate program can be used as one module in the optimization routine of Figure 13. Both interactive or automated alteration of components of the structure is possible since the design evaluation program is independ-ent from the selection procedure. Optimization modules can perform various functions. One has been developed by Leung [9] to provide minimum cost designs for single large components (webs of plate girders). Another routine by Moses and Goble [11] takes a different approach by converting a minimum weight design to one of minimum cost using dynamic programming and learning curve concepts. Monte Carlo techniques could also prove to be useful i n this area. Adaptations of the above techniques can a l l be inserted in the optimi-zation module of Figure 13, to make a variety of improvements available to the designer. 35. P r e l i m i n a r y D e s i g n Yes Figure 13. Design Optimization. 36. 3.3.2 Improvement of the Fabrication and Estimation Processes The current estimation procedures used by most designers and fabricators are based on a few independent studies made in the past of the fabrication operations, with slight modifications reflecting their overall performances on constructed projects. The measurement of times or costs actually experi-enced in the performance of various operations is usually done by instigating a time study program for the process in question. This i s in addition to the usual monitoring procedures used in conventional control, and i t necessarily causes additional expenses which prevent i t from becoming regular practice. Implementation of an information system, which collects data on a regular basis from a global level, coupled with a multiple linear regression analysis can provide a continuous basis for updating estimation parameters. The flowchart of the ESTImate program shown in Figure 8 outlines the mechanism described above. Estimation functions contained in the activity database can be updated by the MLR coefficients obtained from each applica-tion of the MLR analysis, without requiring the additional expenses experienced by time study techniques of the past. Additional benefits provided by the ESTImate program are: automatic bid summaries and spreadsheet analysis of the bid for pre-construction use, and progress reports and schedules for use during the construction. Potential modules can be added to the program to provide complete integration of a l l aspects of construction from accounting to shipping. Since real-time analysis of the fabrication process is now available, investigations may reveal where improvement i s needed and is possible when there is s t i l l time to make corrections. 37. 3.3.3 Research and Education A major benefit provided by program ESTImate is access to "experience" which may alleviate some of the preference for analytical detachment now prevalent in the education of engineers [ 9 ] . The application of ESTImate could be done in the f i n a l years of an engineering student's education in a design project. Rather than designing to simply meet code requirements, as Is so often done in education and in professional practice, designs can now be evaluated in terms of economy. Recursive design w i l l provide students with hands on experience with code requirements and some Ideas of how to improve or optimize their designs. Optimization routines such as that of Figure 13 can become common knowledge among students, and hopefully w i l l be adopted by the firms which they w i l l be employed by in the future. 4. SUMMARY 38. 4.1 Conclusions This thesis provides two new tools for designers, fabricators, and educators. The f i r s t i s a flexible estimation routine, able to accept arbi-trary process and project data. The second is a multiple linear regression model coupled with an information system which w i l l provide the necessary data for the estimation routine. The estimation program can be used as a design evaluation module for both professional practice and research. Costs can be associated with an arbitrary structural form by examining the specific capabilities of the fabrication plant. This mechanism for comparison leads to potential applica-tions in design improvement and heuristic optimization. Potential improvements in the fabrication and estimation processes are made possible with the use of a multiple linear regression analysis. Data required for the estimation process can now be obtained by simply analyzing data measured by a "checkstation" approach, so that the costs associated with the fabrication process can f i n a l l y be monitored in an efficient manner. Integration of scheduling, controlling, and estimating as offered by this system provides a mechanism that can assess current practice, and can identify areas of potential improvement. Designers and fabricators, who have been heavily dependent on their past experience, could take advantage of these new tools by u t i l i z i n g them to improve the quality and competitiveness of structural steel designs. 4.2 Extensions of This Research Possible extensions of the research contained in this thesis come from the application of program ESTImate to a variety of problems. Three specific areas are noted: (1) Optimization of steel structures, and some design guidelines showing how designers could approach this problem, could r e a l i s t i c a l l y be attained by adopting the algorithm of Figure 13. This problem also involves the development of modules which tie in both structural analysis and code requirements, u t i l i z i n g a format which is compatible with the rest of the program. (2) A more detailed analysis of the fabrication process, along with a mathe-matical investigation into the s t a t i s t i c a l accuracy provided by various formulations of the multiple linear regression model, is needed to assess the implementation of an information system in an existing fabri-cation plant. (3) Commercial use of the programs developed thus far i s not possible with-out input and output routines that are specifically designed to suit the needs of the user. The programs must be transported to a microcomputer where specific routines can be developed that are efficient for use with that machine. AO. REFERENCES [I] ADLARD, E.J., "Computer-Integrated Manufacturing - Its Application and Justification," Engineering Digest, January 198A, 16-20. [2] BERRY, G.L., "Shop Floor Information System: Design and Implementation," Engineering Digest, March 1984, 18-20. [3] CHATTERJEE, S., "Regression Analysis by Example," John Wiley & Sons, Inc., 1977. [4] CISC, "A Project Analysis Approach to Building," 1980. [5] DE GARMO, E.P., "Materials and Processes in Manufacturing," 5th Ed., New York: MacMillan Publishing Co., Inc., 1979. [6] DONNELLY, J.A., "Determining the Cost of Welded Joints," Engineering Journal, AISC, October 1968, 146-147. [7] FORDE, B., LEUNG, Y.C. and STIEMER, S.F., "Computer-Aided Design Evalua-tion of Steel Structures," Presented at the 12th Congress of the International Association for Bridge and Structural Engineering, Vancouver, 1984. [8] HAYES, R.H. and ABERNATHY, W.J., "Managing Our Way to Economic Decline," Harvard Business Review, 58 July/August 1980, 67-77. [9] LEUNG, Y.C. "A Contribution to Computer Aided Design Evaluation of Steel Structures", M.A.Sc. Thesis, University of British Columbia, 1984. [10] MACGINLEY, T.J., "Steel Strutures - Practical Design Studies", Great Britain: E. & F.N. Spon Ltd., 1981, 6-9. [II] MOSES, F. and GOBLE, G., "Minimum Cost Structures by Dynamic Program-ming," AISC Engineering Journal, July 1970. 41. [12] NIXON, D., "Estimating the Cost of Small Steel Buildings," C.J.C.E., Vol. 1, No. 2, December 1974, 150-157. [13] O'BRIEN, J.A., "Computers in Business Management", 3rd Ed., Homewood, I l l i n o i s : Richard D. Irwin, Inc., 1982. [14] PEURIFOY, R.L., "Estimating Construction Costs," 3rd Ed., New York: McGraw-Hill Book Company, 1975. [15] RUSSELL, A.D., "Cost Optimization of a Structural Roof System," M.A.Sc. Thesis, University of British Columbia, 1970. [16] SCHMIT, L.A., "Structural Design by Systematic Synthesis," Second Conference on Electronic Computation, ASCE, Structural Division, Pittsburgh, 1960, 105-132. [17] SHOEMAKER, M.M., "The Building Estimator's Reference Book," The Frank R. Walker Company, 1977. [18] VON HOERNER, S., "The Derivative Tensor of the Stiffness Matrix as a Tool for Optimization," Optimization Methods in Structural Design, Euromech-Colloquium 164, University of Siegen, 1982, 84-90. APPENDIX U S E R ' S G U I D E • • • • • • • • • • • • • • m a t e V E R S I O N 1.0 A U G 1984 b y B r u c e F o r d e ESTImate USER'S GUIDE 43. Table of Contents 1. I N T R O D U C T I O N 44 2. A P P L I C A T I O N S o f E S T I m a t e 45 3. U S E O F T H E P R O G R A M a ) P r o g r a m e x e c u t i o n 46 b ) E S T I m a t e O p e r a t i o n s 46 i. E d i t i n g w i t h t h e V a r i a b l e L i s t E d i t o r ( V L E ) i i . C r e a t i n g t h e E s t i m a t e S u b r o u t i n e F i l e i i i . E s t i m a t i n g i v . M u l t i p l e L i n e a r R e g r e s s i o n c ) D a t a F i l e s 53 i. D e s c r i p t i o n s i i . E x a m p l e s 4. E S T I m a t e C O M M A N D L A N G U A G E 66 5. S U M M A R I E S o f E S T I m a t e S U B R O U T I N E S a ) C O M P A R E 67 b ) C R E A T E 67 c ) D I S P L A Y 67 d ) E Q U A T I O N 68 e ) E S T I M A T E 69 f ) F I L E S T A T 69 g ) G E T S U B 69 h ) M L R 70 i ) R E A D 70 j ) S T E P 71 k ) V L E 72 6. F I L E N A M E I / O 73 7. E R R O R M E S S A G E S 74 8. D A T A F O R M A T 78 a ) A c t i v i t y D a t a b a s e ( A D ) 79 b ) E s t i m a t e D a t a b a s e ( E D ) 8 0 c ) I n f o r m a t i o n S y s t e m D a t a b a s e ( I S D ) 31 d ) M L R O u t p u t ( M L R ) 32 e ) Q u a n t i t y D a t a b a s e ( Q D ) 33 f ) V a r i a b l e L i s t E d i t o r F i l e s ( V L E ) 34 E S T I m a t e U S E R ' S G U I D E 1. I N T R O D U C T I O N T h i s p r o g r a m w a s d e v e l o p e d a t t h e U n i v e r s i t y o f B r i t i s h C o l u m b i a b y B r u c e F o r d e d u r i n g 1 9 8 4 . T h e i n t e n t o f t h e p r o g r a m w a s t o p r o v i d e a f l e x i b l e e s t i m a t i o n r o u t i n e w h i c h c o u l d b e u s e d b y b o t h s t r u c t u r a l d e s i g n e r s a n d f a b r i c a t o r s i n t h e e s t i m a t i o n o f c o n s t r u c t i o n cos ts . U s e o f t h e p r o g r a m is e x p l a i n e d i n d e t a i l i n t h e f o l l o w i n g u s e r ' s g u i d e , a n d c o m m e n t s r e g a r d i n g t h e p r o g r a m d e v e l o p m e n t a n d c o n s t r u c t i o n a r e p l a c e d s t r a t e g i c a l l y t h r o u g h o u t t h e c o d e . T h e l a n g u a g e u s e d i s F O R T R A N 77 w i t h s o m e m i n o r a d a p t a t i o n s f o r u s e i n a D i g i t a l E q u i p m e n t - V A X 11 e n v i r o n m e n t T h e s u g g e s t e d p r o c e d u r e f o r u s e o f t h i s g u i d e is t o : (1 ) R e a d s e c t i o n 3 r e g a r d i n g u s e o f t h e p r o g r a m . T h e n r e a d s e c t i o n 4 o n t h e E S T I m a t e c o r n m a n d l a n g u a g e . (2 ) T r y t o d u p l i c a t e t h e r e s u l t s o f t h e e x a m p l e s g i v e n i n s e c t i o n 3c u s i n g i n p u t d a t a o f y o u r o w n ( r e f e r t o s e c t i o n 8 o n d a t a f o r m a t i f n e c e s s a r y ) . (3 ) S e c t i o n s 5 t o 8 a r e p r i m a r i l y f o r t h o s e w h o w i s h t o m a k e a l t e r a t i o n s t o t h e s o u r c e c o d e o f E S T I m a t e , a n d a r e i n c l u d e d t o p r o v i d e a b a s i s f o r p r o g r a m e x p a n s i o n a n d e r r o r d i a g n o s i s . T h i s a p p r o a c h e n s u r e s t h a t t h e u s e r w i l l b e c o m e f a m i l i a r w i t h b o t h t h e l o g i c a n d t h e o p e r a t i o n o f p r o g r a m E S T I m a t e . ESTImate USER'S GUIDE 2. APPLICATIONS OF ESTImate There are two intended users of ESTImate: (a) Contractors - project estimating - project scheduling - process improvement (b) Designers - project estimating - design evaluation/optimization T h e l a r g e s t b e n e f i t s o f f e r e d b y E S T I m a t e a r e t h o s e a v a i l a b l e t o c o n t r a c t o r s , w h o w o u l d u s e it as a t o o l i n e s t i m a t i n g a n d s c h e d u l i n g p r o j e c t s , s i n c e i t p r o v i d e s a m e c h a n i s m t o m o n i t o r a n d e v a l u a t e t h e e f f i c i e n c y o f t h e i r o p e r a t i o n s . D e s i g n e v a l u a t i o n b y c o n t r a c t o r s m a y a l s o p r o v i d e a n e f f e c t i v e m e a n s o f r e d u c i n g cos t s a n d i m p r o v i n g p r o f i t m a r g i n s s o t h a t b o t h o w n e r s a n d c o n t r a c t o r s c a n b e n e f i t f r o m t h e r e s u l t i n g d e s i g n i m p r o v e m e n t s . D e s i g n e r s h a v e a p o t e n t i a l u s e o f E S T I m a t e i n t h e e v a l u a t i o n / o p t i m i z a t i o n o f t h e i r p r o j e c t s ; h o w e v e r , d e s i g n / c o n s t r u c t i o n i n t e r a c t i o n m u s t first b e e s t a b l i s h e d . ESTImate USER'S GUIDE .46. 3. USE O F T H E PROGRAM (a) Program Execution T o i n v o k e p r o g r a m E S T I m a t e o n a D i g i t a l E q u i p m e n t V A X , w h i c h is r u n n i n g u n d e r t h e VMS o p e r a t i n g s y s t e m , s i m p l y t y p e : RUN EST! T h i s c a n b e a b b r e v i a t e d to a u s e r s p e c i f i e d c o m m a n d b y m a k i n g u s e o f a V M S c o m m a n d f i l e ( see t h e V M S o p e r a t i n g s y s t e m g u i d e ) . O n c e E S T I m a t e is r u n n i n g , a se t o f i n t e r a c t i v e c o m m a n d s a r e a v a i l a b l e ( s ee E S T I m a t e c o m m a n d l a n g u a g e ) . T h e u s e r c a n c r e a t e a n d u s e a n e s t i m a t i o n p r o g r a m , o r c a n e v a l u a t e t h e a c c u r a c y o f a se t o f e s t i m a t i o n e q u a t i o n s b y a n a l y s i n g d a t a m e a s u r e d b y a n i n f o r m a t i o n s y s t e m w i t h m u l t i p l e l i n e a r r e g r e s s i o n . (b) ESTImate Operations T h e f l o w c h a r t o f F i g u r e 1 o u t l i n e s t h e s t r u c t u r e o f p r o g r a m E S T I m a t e . R e c t a n g u l a r b o x e s i n d i c a t e d a t a f i l e s , w h i l e t h e o v u l a r s h a p e s r e f e r to s e l f c o n t a i n e d s u b r o u t i n e s . F u r t h e r s u b r o u t i n e s u s e d f o r I / O a r e i n d i c a t e d u s i n g a r r o w s . D e t a i l e d s i i m m a r i e s o f t h e E S T I m a t e o p e r a t i o n s a n d t h e i n d i v i d u a l s u b r o u t i n e s a r e g i v e n i n s e c t i o n s 3 a n d 5. i. Editing with the Variable L i s t E d i t o r ( V L E ) T h e c o n s t r u c t i o n o f l i s ts w i t h a c c o m p a n y i n g d e s c r i p t i o n s c a n b e d o n e w i t h t h e V L E s u b r o u t i n e . O r g a n i z a t i o n o f t h e l i s t i s b y d e f a u l t a l p h a b e t i c a l l y i n t e r m s o f t h e v a r i a b l e n a m e . I n a d d i t i o n t o i n t e r a c t i v e u s e o f V L E , p r o g r a m E S T I m a t e u t i l i z e s V L E a s a n I / O m e c h a n i s m f o r s e v e r a l i n t e r n a l o p e r a t i o n s . N a m e s o f t h e v a r i a b l e s s h o u l d c o n s i s t o f o n l y u p p e r c a s e a l p h a n u m e r i c c h a r a c t e r s ( s i n c e E Q U A T I O N h a s s u p p o r t f o r t h e s e ) w i t h a m a x i m u m l e n g t h o f 10 . T h e d e s c r i p t i o n c a n b e a n y c h a r a c t e r s u p t o a l e n g t h o f 40 . T h e a v a i l a b l e o p e r a t i o n s i n V L E a r e : A D D , D E L , D E S C , L I S T , S A V E , S O R T , S T O P , a n d H E L P . A H o f c o m m a n d s , w i t h t h e e x c e p t i o n o f D E S C c a n b e a b b r e v i a t e d t o o n e l e t t e r i n c l u d i n g t h e l o w e r c a s e e q u i v a l e n t D E S C c a n b e a b b r e v i a t e d to D E S o r d e s t o p r e v e n t ESTImate USER'S GUIDE 47 A C T I V I T Y D A T A B A S E - E i t i M t i o n funct 10m VAR IABLE DATABASE - V a r t a b l e I 151 - d s s c r i p t i o n s VIE V A R I A B L E INPUT CONTROL - ttipi.it var mbtes - i n p u t d e s c r i p t i o n s i VLE C I S C DATABASE - S a c t ion p r o p e r t l a s 1 I rr r C SUBROUT INE J C R E A T E I ( SUBROUTINE J < -01NPUI / Q U A N T I ! r INPUT CHNROl I n p u t f o r m a t - I N T E R A C T I V E INPUT I b y E s t m o t o r I V A R I A B L E OUTPUT CONTROL - o u t p u t v a r i a b l e s E S T I M A T E SUBROUTINE f H E O U A N T I T r DATABASE - P h y s i c a l p r o p a r t t e s - A c t Iv l ty •athOCJS INFORMATION S » S T E M INPUT CONTROL - I n p u t ' O r w t - G E T sue -I 1 i 'I I (SUBROUTINE \ I ST IHA T £ I - REFERENCE -to E s t I M t a C SUBROUTINE V IS1NPUT I INTERACT IVE INPUT ( b y S h o p ) E S T I M A T E DATABASE E s t t i a a t a d T i m a s / C o s t s for e a c h a c t i v i t y R I A D E 5 T I R E A D F S T I V / INFORMATION SYSTEM O A T * B * S £ - A c t u a l T i m e s / C o s t s ( SUBROUTINE \ I SUBROUTINE N f N / SUBPOUT] NE \ I SCHEDULE J SCHEDULE OUTPUT - P r o g r e s s r t p o r T C - S c n e o j i a s Figure 1. Program ESTImate Flowchart. ESTImate USER'S GUIDE 48. c o n f u s i o n w i t h t h e D E L c o m m a n d . D E L E T E i s t h e o n l y V L E c o m m a n d t h a t i n c l u d e s a l o w e r l e v e l o f c o m m a n d s , w h i c h i n t h i s c a s e a r e u s e d t o f a c i l i t a t e d e l e t i o n b y n a m e , n u m b e r , o r r a n g e o f n u m b e r s . V L E s h o u l d b e u s e d t o e s t a b l i s h t h e V a r i a b l e D a t a b a s e a n d t h e V a r i a b l e O u t p u t C o n t r o l f i l e s . F u r t h e r d e s c r i p t i o n s o f t h e c o m m a n d s a r e g i v e n i n t h e c o m m a n d l a n g u a g e s u m m a r y , ii. Creating the Estimate Subroutine File P r o g r a m E S T I m a t e r e q u i r e s t h e u s e r t o c r e a t e a s u b r o u t i n e w h i c h c o n t a i n s t h e se t o f e q u a t i o n s t o b e e m p l o y e d i n t h e e s t i m a t i o n p r o c e s s . T h i s s u b r o u t i n e c o u l d b e w r i t t e n b y o n e w h o i s f a m i l i a r w i t h F O R T R A N , i f i t w a s e n s u r e d t h a t a l l t h e c o r r e c t s t a t e m e n t s w e r e i n c l u d e d t o m a k e i t c o m p a t i b l e w i t h t h e res t o f E S T I m a t e . R a t h e r t h a n f o r c i n g t h e u s e r t o b e c o m e v e r y f a m i l i a r w i t h t h e F O R T R A N c o d i n g u s e d i n t h e r e s t o f t h e p r o g r a m ( w h i c h m a y r e q u i r e e x t e n s i v e r e s e a r c h ) . P r o g r a m E S T I m a t e s i m p l y w r i t e s t h e s u b r o u t i n e f o r t h e u se r . T h i s w a y the u s e r m u s t o n l y e n s u r e t h a t a n i n p u t f i l e i s p r e p a r e d w i t h a se t o f e q u a t i o n s , i n a d e f i n e d f o r m a t , r a t h e r t h a n h a v i n g t o u n d e r s t a n d t h e i n n e r w o r k i n g s o f t h e E S T I m a t e p r o g r a m . T o c r e a t e t h e e s t i m a t e s u b r o u t i n e f i l e t h e u s e r s h o u l d b e i n t h e f i rs t l e v e l o f t h e E S T I m a t e c o m m a n d l a n g u a g e ( t h e p r o m p t m u s t b e " E S T ! : " ) . T h e w o r d " C R E A T E " ( o r a n a b b r e v i a t i o n ) w i l l i n s t i g a t e t h e C R E A T E s u b r o u t i n e p r o m p t s as s h o w n b e l o w : ESTlrCREATE Activity Database Filename ? < e n t e r y o u r f i l e n a m e > Variable Database Filename ? < e n t e r y o u r f i l e n a m e > F u r t h e r p r o m p t s a p p e a r t o d e t e r m i n e t h e d i r e c t i o n o f o u t p u t : Do you want the output sent to a f i l e ? ( Y / N ) < Y o r N > I f t h e a n s w e r is " Y " t h e n t h e f o l l o w i n g p r o m p t a p p e a r s : Estimate Subroutine Filename ? < e n t e r y o u r f i l e n a m e > ESTImate USER'S GUIDE 49. T h e filename c h o s e n m u s t b e n o n - e x i s t i n g s i n c e E S T I m a t e w i l l n o t o v e r w r i t e . It i s a d v i s a b l e t o first d i s p l a y t h e r e s u l t t o t h e s c r e e n ( b y c h o o s i n g t h i s o p t i o n r a t h e r t h a n t o a file) t o s e e i f t h e i n p u t files a r e p r o c e s s e d w i t h o u t a n y e r r o r s . I f • a n e r r o r o c c u r s , r e f e r e n c e w i l l b e m a d e as t o w h e r e i t o r i g i n a t e d ( t h e m o s t l i k e l y e r r o r s a r e i n t h e a c t i v i t y d a t a b a s e ) . S e e t h e s e c t i o n o n e r r o r h a n d l i n g t o i d e n t i f y w h e r e t h e e r r o r o c c u r r e d ( R E A D A C T , E Q U A T I O N , a n d S T E P l i k e l y c a n d i d a t e s ) . ACTIVITY DATABASE E s t i m a t i o n r u n c t i e n s VARIABLE DATABASE V a r i a b l e L i s t d e s c r i p t i o n s SUBROUTINE CREATE ESTIMATE SUBROUTINE FILE F i g u r e 2. C r e a t i n g t h e E s t i m a t e S u b r o u t i n e F i l e . ESTImate USER'S GUIDE 5 0 > fax E s t i m a t i n g B e f o r e t h e e s t i m a t i o n r o u t i n e c a n b e i n v o k e d t h e G E T S U B c o m m a n d m u s t b e u s e d t o c o m p i l e a n d l i n k t h e n e w e s t i m a t e s u b r o u t i n e f i l e t o t h e m a i n p r o g r a m . T h i s r e q u i r e s a b o u t 3 0 s e c o n d s o n a V A X 1 1 / 7 3 0 ; h o w e v e r , t h i s p r o c e d u r e o n l y h a s t o b e d o n e o n c e f o r e a c h n e w a c t i v i t y d a t a b a s e , n o t e v e r y t i m e y o u w a n t t o e s t i m a t e . T h e t e r m i n a l i n p u t w i l l b e : E S T L G E T S U B Estimate Subroutine File ? < e n t e r y o u r f i l e n a m e > ESTIMATE SUBROUTINE FILE VARIABLE OUTPUT CONTROL Output V a r i a b l e s QUANTITY DATABASE P h y s i c a l P r o p e r t i e s A c t i v i t y atethods SUBROUTINE ESTIMATE J ESTIMATE DATABASE E s t l a s t e d Ti«es / C o s t s l o r each a c t i v i t y Figure 3. Estimating. ESTImate USER'S GUIDE 5 1 . Once the estimate subroutine file has been linked, using the E S T I M A T E command will result in prompts for a quantity database and an o u t p u t file. Reading from this data may result in some errors as described i n the section o n error messages, with the correct format being given i n the section o n d a t a formats. O u t p u t is controlled b y the V O C (Variable O u t p u t Control) file a s described in the previous section. The terminal i n p u t w i l l b e : E S T L ESTIMATE Quantity Database Filename ? < enter your filename > Further Prompts appear to determine the direction o f o u t p u t : Do you want the output sent to a file ? ( Y / N ) < Y or N > I f the answer is " Y " then a further p r o m p t a p p e a r s : Estimate Database Filename ? < e n t e r y o u r f i l e n a m e > T h e o u t p u t file should b e a n o n - e x i s t i n g file s i n c e t h e E S T I m a t e p r o g r a m w i l l not overwrite an existing file, iv. Multiple Linear Regression T o e x a m i n e the a c c u r a c y o f a se t o f e s t i m a t i o n e q u a t i o n s , a n e s t i m a t e d a t a b a s e ( c o n t a i n i n g the e s t i m a t e d times c a l c u l a t e d b y t h e e s t i m a t i o n e q u a t i o n s ) combined w i t h t h e a c t u a l times as measured b y a n i n f o r m a t i o n s y s t e m a r e a n a l y s e d by multiple linear regression. To invoke t h i s a n a l y s i s , i n p u t w i l l b e : ESTL: MLR Estimate Database Filename ? <enter y o u r filename> Information System Database Filename ? <enter y o u r filename> Further prompts follow to direct the f l o w of o u t p u t : Do you want the output sent to a file ? ( Y / N ) < y or N > If the answer is " Y " then the following p r o m p t a p p e a r s : M L R Output Filename < enter y o u r filename > E S T I m a t e U S E R ' S G U I D E 52. The resulting output is a datafile which contains a set of regression coefficients which could be used to update the current set of estimation functions. This routine calls the COMPARE function which checks to see if the two input files are compatible. The definition of compatible is that every item name and description must be identical to its counterpart on the other list, and both lists must have the same number of items. INFORMATION SYSTEM DATABASE A c t u a l T i a e s / C o s t s ^^ S^  I SUBROUTINE M L R r MLR COEFFICIENTS Used t o update A c t i v i t y Database ESTIMATE DATABASE E s t i a a t e d T i a a s / C o s t s f o r aach a c t i v i t y F i g u r e 4 . M u l t i p l e L i n e a r R e g r e s s i o n . ESTImate USER'S GUIDE 5 3 . (c) Data Files P r e s e n t e d o n the f o l l o w i n g p a g e s a r e : first a l i s t o f b r i e f d e s c r i p t i o n s o f the d a t a f i l e s used i n E S T I m a t e , a n d t h e n a l i s t o f e x a m p l e s . L Descriptions Activity Database T h e a c t i v i t y d a t a b a s e i s c o m p o s e d o f a set o f e s t i m a t i o n f u n c t i o n s w h i c h a r e t o b e u s e d b y t h e e s t i m a t i o n r o u t i n e . T h e f o r m a t o f t h i s file i s d e s c r i b e d i n t h e d a t a f o r m a t s e c t i o n u n d e r t h e h e a d i n g o f A D F O R M A T . T h e file i s a t p r e s e n t t o b e c o n s t r u c t e d u s i n g t h e s y s t e m e d i t o r , b u t c a n a c c e p t n e w d a t a t h r o u g h o p t i m i z a t i o n r o u t i n e s i n t h e f u t u r e . T h e o r d e r o f a c t i v i t i e s is a r b i t r a r y , b u t m u s t m a t c h t h e c o d e g i v e n i n the a c t i v i t y d a t a b a s e . F u t u r e i n p u t r o u t i n e s c o u l d m a k e u s e o f a c o n t r o l f i l e w h i c h o r g a n i z e s t h e o r d e r m a t c h i n g t h e t w o files. Variable Database T h e v a r i a b l e s u s e d i n t h e e s t i m a t i o n p r o c e s s a r e s t o r e d a l p h a b e t i c a l l y h e r e i n a V L E f o r m a t A l l I / O is d o n e b y t h e V L E r o u t i n e a n d is d e s c r i b e d i n t h e s e c t i o n o n e d i t i n g w i t h t h e V L E e d i t o r . Estimate Subroutine File T h e E S F i s a F O R T R A N 7 7 e q u i v a l e n t o f t he a c t i v i t y d a t a b a s e , d e s c r i b i n g t h e e s t i m a t i o n f u n c t i o n s i n a s t a n d a r d p r o g r a m w i t h I F T H E N a n d a s s i g n m e n t s t a t e m e n t s . Quantity Database T h e q u a n t i t y d a t a b a s e is c o m p o s e d o f a l l p h y s i c a l p r o p e r t i e s a n d a c t i v i t y m e t h o d s p e r t a i n i n g t o a p a r t i c u l a r p r o j e c t ( o r p o r t i o n o f a p r o j e c t ) . T h i s is s i m i l a r t o t h e m a t e r i a l b i l l s u s e d b y m o s t c o n t r a c t o r s . I n p u t o f t h i s d a t a b a s e is n o t d o n e b y E S T I m a t e v e r s i o n 1.00, s i n c e a n e f f i c i e n t i n p u t m e c h a n i s m h a s n o t y e t b e e n d e v i s e d . T h e f o r m a t o f t h e d a t a m u s t f o l l o w tha t g i v e n b y Q D F O R M A T i n the d a t a f o r m a t s e c t i o n . ESTImate USER'S G U I D E 54. Variable Output Control File T h e v a r i a b l e s t o b e o u t p u t b y t h e e s t i m a t i o n r o u t i n e a r e s t o r e d h e r e a l o n g w i t h t h e f o r m a t t h a t t h e y a r e to b e d i s p l a y e d i n . T h i s i s d o n e u s i n g t h e V L £ e d i t o r b y s i m p l y r e p l a c i n g t h e v a r i a b l e d e s c r i p t i o n w i t h a F O R T R A N F o r I f o r m a t s t a t e m e n t T o g e t a F 6 . 1 o u t p u t , t he d e s c r i p t i o n s h o u l d b e " 6 . 1 " . T h i s m e a n s a t o t a l f i e l d o f 6 d i g i t s ( i n c l u d i n g t h e d e c i m a l ) , w i t h 1 d i g i t a f t e r t h e d e c i m a l . T o g e t a n 13 o u t p u t s i m p l y u s e " 3 " t o p r o d u c e a n i n t e g e r w i t h a m a x i m u m o f 3 d i g i t s . Estimate Database E s t i m a t e d t i m e s / c o s t s f o r e a c h a c t i v i t y a r e s u m m a r i z e d h e r e w i t h t h e c o r r e s p o n d i n g m a r k n u m b e r s a n d d e s c r i p t i o n s . C h o i c e o f t h e v a r i a b l e s i n t h i s file i s c o n t r o l l e d b y V O C ( b e l o w ) , a n d s h o u l d b e s u c h t h a t M L R c a n b e p e r f o r m e d i f d e s i r e d ( i f a l l e s t i m a t e d t i m e s a r e o u t p u t , t h e n i f t i m e s a r e r e c o r d e d b y the IS , M L R c a n b e p e r f o r m e d o n t h e c o m b i n a t i o n ) . T h e f o r m a t o f t h i s f i l e is g i v e n b y E D F O R M A T i n t h e d a t a f o r m a t s e c t i o n . Information System Database T h e t i m e s / c o s t s m e a s u r e d b y t h e i n f o r m a t i o n s y s t e m i n t h e s h o p o r field a re s t o r e d h e r e w i t h t h e c o r r e s p o n d i n g i t e m m a r k n u m b e r s a n d d e s c r i p t i o n s . T h e f o r m a t o f t h e d a t a f i l e m u s t b e t h a t g i v e n b y I S D F O R M A T i n t h e d a t a f o r m a t s e c t i o n . M L R Output File T h i s f i l e c o n t a i n s t h e r e g r e s s i o n c o e f f i c i e n t s f r o m M L R a n a l y s i s . T h e s e c o e f f i c i e n t s c a n b e u s e d t o u p d a t e t h e a c t i v i t y d a t a b a s e s o t h a t i t r e f l e c t s t he c u r r e n t t i m e s o r cos t s a c t u a l l y m e a s u r e d b y t h e i n f o r m a t i o n s y s t e m . S i n c e t h i s r e q u i r e s s o m e j u d g e m e n t a s t o t h e m e t h o d o f a l t e r a t i o n , i t i s l e f t u p to the u s e r t o d e v i s e t h i s s u b r o u t i n e . ESTImate USER'S GUIDE 5 5 . it Example Data Files The following output is from the example mentioned in the M.A.Sc. Thesis of Bruce Forde: Five operations were investigated, and for clarity of use in the ESTImate program these were broken down into seven groups (due to the nature of the equations used). Information was collected at the entrance and exit from the part of shop where these operations take place. Refer to the above reference for more information on the choice of the example and the use of the results. ESTImate USER'S GUIDE 5 6 . Activity Database The following is a datafile which represents the estimation functions used for the estimation of seven fabrication operations. The format is of type AD (section 8a). s h e a r i n g of p l a t e s o c t i v i t y d e s c r i p t i o n > o c t i v i t y number> <a s t e p f u n c t i o n i n terms of "PCWT" <range ( u n i t s a r e those of "PCWT") <equation a p p l i e d f o r the above range of the v a r i a b l e "PCWT" > STEP/PCWT/3 0,25 SP=4.6+4.5*N 25,75 SP=6.32+7.2*N 75,10000 SP=6.59+9.7*N RETURN <end of a c t i v i t y > s h e a r i n g of a n g l e s 2 STEP/LENGTH/2 0,15 SA=15.0+(1+0.15*LENGTH)*N 15,1000 SA=(52+0.3*LENGTH)*N RETURN sawing of shapes 3 SS =(6.85+0.43*WTPL+0.1*LENGTH)*N RETURN b u r n i n g of shapes 4 BS=(1.23+0.045*WTPL)*N RETURN b u r n i n g of p l a t e s 5 BP= 12.0+(4+(2.0 + 0.03*THICK)*BLENGTH/1 000)*N RETURN d r i l l i n g 6 DR=(5+(1,0+0.05*THICK)*NHOLES)*N RETURN pun c h i n g 7 PU=5.78+(0.42+0.9*NHOLES)*N RETURN END <end of a l l a c t i v i t i e s > ESTImate USER'S GUIDE Variable Database (input using VLE) This is all set up for you by the V L E editor by simply running ESTImate and invoking the editor. The list is internally alphabetized so the input order does not matter. NUMVAR 14 1 BLENGTH b u r n l e n g t h (mm) 2 BP time f o r b u r n i n g p l a t e s 3 BS time f o r b u r n i n g shapes 4 DR time f o r d r i l l i n g 5 LENGTH member l e n g t h 6 N number of i d e n t i c a l members 7 NHOLES number of h o l e s 8 PCWT p i e c e w e i g h t 9 PU time f o r punching 10 SA time f o r s h e a r i n g a n g l e s 1 1 SP time f o r s h e a r i n g p l a t e s 12 SS time f o r sawing shapes 13 THICK member t h i c k n e s s 1 4 WTPL weight per l e n g t h ESTImate USER'S GUIDE The Estimate Subroutine File (output of subroutine CREATE) The following is the program written by the create subroutine using the activity database and the variable list The names of the variables in the equations (as input by the user) are translated into an equivalent element in the V-vector, having the corresponding number from the variable list The step functions are converted to FORTRAN IF T H E N statements containing the values of the range given by the user. The lower number is contained in the range while the upper number is the upper bound. C****************************************************************** C E S T I M A T E S U B R O U T I N E F I L E C <filename> C****************************************************************** SUBROUTINE ESF(V,NAME,NVAR,ACTCODE,NACT) C REAL V(14) INTEGER NVAR,ACTCODE(*),NACT CHARACTER*10 NAME(*) NVAR= 14 NAME( 1) = 'BLENGTH NAME( 2) = 'BP NAME( 3) = 'BS NAME( 4) ' DR NAME( 5) = 'LENGTH NAME( 6) = ' N NAME( 7) = 'NHOLES NAME( 8) ' PCWT NAME( 9) = 'PU NAME(10) = •SA NAME(11) = 'SP NAME(12) = 'SS NAME(13) = 'THICK NAME(14) ' WTPL ***************************************************************** s h e a r i n g of p l a t e s IF(ACTCODE( 1).EQ.1)THEN I F ( V ( 8).GE .O.AND.V( 8 K L T . 2 5 ) 1V(11)=4. 6+4 .5*V( 6) IF ( V ( 8) .GE .25.AND.V( BJ.LT.75) 1V(11)=6. 32+7.2*V( 6) I F ( V ( 8) .GE .75.AND.V( 8).LT.10000) 1V(11)=6. 59+9.7*V( 6) END IF ESTImate USER'S GUIDE 5 9 . :******** C s h e a r i n g of a n g l e s C I F ( A C T C O D E ( 2 ) . E Q . 1 ) T H E N I F ( V ( 5 ) . G E . 0 . A N D . V ( 5 ) . L T . 1 5 ) 1 V ( 1 0 ) = 1 5 . 0 + ( 1 + 0 . 1 5 * V ( 5 ) ) * V ( 6 ) I F ( V ( 5 ) . G E . 1 5 . A N D . V ( 5 ) . L T . 1 0 0 0 ) 1 V ( 1 0 ) = ( 5 2 + 0 . 3 * V ( 5 ) ) * V ( 6 ) E N D I F C C sawing of shapes C I F ( A C T C O D E ( 3 ) . E Q . 1 ) T H E N V ( 1 2 ) = ( 6 . 8 5 + 0 . 4 3 * V ( 1 4 ) + 0 . 1 * V ( 5 ) ) * V ( 6 ) E N D I F C C b u r n i n g of shapes C I F ( A C T C O D E ( 4 ) . E Q . 1 ) T H E N V ( 3 ) = ( 1 . 2 3 + 0 . 0 4 5 * V ( 1 4 ) ) * V ( 6 ) E N D I F c  C b u r n i n g of p l a t e s C I F ( A C T C O D E ( 5 ) . E Q . 1 ) T H E N V ( 2 ) = 1 2 . 0 + ( 4 + ( 2 . 0 + 0 . 0 3 * V ( l 3 ) ) * V ( 1 ) / 1 0 0 0 ) * V ( 6 ) E N D I F c ----C d r i l l i n g C I F ( A C T C O D E ( 6 ) . E Q . 1 ) T H E N V ( 4 ) = ( 5 + ( 1 . 0 + 0 . 0 5 * V ( 1 3 ) ) * V ( 7 ) ) * V ( 6 ) E N D I F C ( 2 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * C punching c _ I F ( A C T C O D E ( 7 ) . E Q . 1 ) T H E N V ( 9 ) = 5 . 7 8 + ( 0 . 4 2 + 0 . 9 * V ( 7 ) ) * V ( 6 ) E N D I F C N A C T = 7 R E T U R N E N D ESTImate USER'S GUIDE 6 0 . Quantity Database (input using the VMS editor) The following is the quantity database (structure database, material bill, etc.) to be estimated using the chosen estimation functions and program given above. The format follows that given by the Q D format of section 8e. PROJECT 501 M a t e r i a l b i l l 12 <p r o j e c t name> < q u a n t i t y database d e s c r i p t i o n > (A3,X,A13) <format of m a r k , d e s c r i p t i o n > 7 -number of p o t e n t i a l a c t i v i t i e s (X,7I1) <format of a c t i v i t y code> 7 -number of i n p u t v a r i a b l e s 6,5,14,8,1,7,13 - o r d e r of i n p u t v a r i a b l e s * <format of v a r i a b l e s > 14 -number of v a r i a b l e s i n d a t a b a s e -(T10,A10,T25,A40) <format of v a r i a b l e l i s t > 1 BLENGTH b u r n l e n g t h (mm) 2 BP time f o r b u r n i n g p l a t e s 3 BS time f o r b u r n i n g shapes 4 DR time f o r d r i l l i n g 5 LENGTH member l e n g t h 6 N number of i d e n t i c a l members 7 NHOLES number of h o l e s 8 PCWT p i e c e w e i g h t 9 PU time f o r punching 10 SA time f o r s h e a r i n g a n g l e s 1 1 SP time f o r s h e a r i n g p l a t e s 12 SS time f o r sawing shapes 13 THICK member t h i c k n e s s 14 WTPL weight per l e n g t h 1 W920X253 0001001 15.0 12.0 253.0 2 W760X147 0001001 30 8.2 147.0 3 W610X140 0010010 20 9.1 140.0 <ma r k , d e s c r i p t i o n > o c t i v i t y code> 0.0 920.0 20.0 28.0 0.0 0.0 760.0 16 0.0 16 17.0 22.0 ESTImate USER'S GUIDE 6 1 . 4 W530X109 0001001 25 8 .0 109.0 0 .0 530 .0 10 19.0 5 W460X74 0010010 10- 6 .7 74 .0 0 .0 0.0 12 14.0 6 W360X79 0010001 28 4 .6 79 .0 0 .0 0 .0 10 0 .0 7 W250X89 0001010 40 6 .0 8 9 . 0 0 .0 250 .0 14 17.0 8 L125X125X10 0100001 30 4 .0 0 .0 0 .0 0 .0 6 0 .0 9 L90X90X10 0100001 18 3 .0 0 .0 0 .0 0 .0 6 0 .0 10 L90X90X10 0100001 24 2 .0 0 .0 0 .0 0 .0 4 0 .0 11 L75X75X10 0100001 50 1.0 0 .0 0 .0 0 .0 2 0 .0 12 PL50X720 0000110 4 15.0 0 .0 4212 .0 16440.0 12 50 .0 13 PL14X3860 0000110 2 15.0 0 .0 6322 .7 22720.0 36 14.0 14 PL30X600 0000110 8 10.0 0 .0 1404.0 11200.0 4 30 .0 15 PL12X1500 0000110 4 10.0 0 .0 1404.0 13000.0 14 12.0 E N D ESTImate USER'S GUIDE Variable Output Control (input using VLE) The list of output variables is contained in the VOC file as well as their output formats. In this case, all variables to do with times were output so that MLR could be performed on the operations in question. The formats used are F8.1 as discussed in the file description for VOC. N U M V A R 6 1 B P 8.1 2 B S 8.1 3 D R 8.1 4 P U 8.1 5 S A 8.1 6 S S 8.1 ESTImate USER'S GUIDE 6 3 . Estimate Database (output by subroutine ESTIMATE) This is the times or costs as estimated by the estimation subroutine. The input format is as given in the ED FORMAT in section 8b and is very similar to the ISD FORMAT of the next page. PROJECT 501 M a t e r i a l b i l l 12 6 Output v a r i a b l e s (T10,A10,T25,A40) 1 BP 2 BS 3 DR 4 PU 5 SA 6 SS time f o r b u r n i n g p l a t e s time f o r b u r n i n g shapes time f o r d r i l l i n g t ime f o r pun c h i n g time f o r s h e a r i n g a n g l e s time f o r sawing shapes (X,A3,X,A13,F8.1,F8.1,F8.1,F8.1,F8.1,F8.1) B B D P S S P S R U A s 1 W920X253 0.0 189.2 0.0 282. 1 0 . 0 0.0 2 W760X147 0.0 235.4 0.0 450.4 0.0 0 . 0 3 W610X140 0.0 0.0 772.0 0.0 0 . 0 1359.2 4 W530X109 0.0 153.4 0.0 241 .3 0.0 0 . 0 5 W460X74 0.0 0.0 254.0 0.0 0.0 393.4 6 W360X79 0.0 0.0 0.0 269.5 0 . 0 1155.8 7 W250X89 0.0 209.4 1236.0 0.0 0 . 0 0 . 0 8 L125X125X10 0.0 0.0 0.0 180.4 63.0 0 . 0 9 L90X90X10 0.0 0.0 0.0 110.5 41.1 0 . 0 10 L90X90X10 0.0 0.0 0.0 102.3 46.2 0 . 0 1 1 L75X75X10 0.0 0.0 0.0 116.8 72.5 0 . 0 12 PL50X720 258.2 0.0 188.0 0.0 0 . 0 0 . 0 13 PL14X3860 130.0 0.0 132.4 0.0 0.0 0 . 0 14 PL30X600 303.8 0.0 120.0 0.0 0.0 0 . 0 15 PL12X1500 .150.7 0.0 109.6 0.0 0.0 0 . 0 ESTImate USER'S GUIDE Information System Database (input using the VMS editor) This is the times or costs as measured by the information system. The input format is as given in the ISD FORMAT of section 8c and is very similar to die ED FORMAT shown on the previous page. PROJECT 501 M a t e r i a l b i l l 12 6 Output v a r i a b l e s (T10,A10,T25,A40) 1 BP time f o r b u r n i n g p l a t e s 2 BS time f o r b u r n i n g shapes 3 DR time f o r d r i l l i n g 4 PU time f o r pun c h i n g 5 SA time f o r s h e a r i n g a n g l e s 6 SS time f o r sawing shapes (X,A3,X,A13,F8.1) 1 W920X253 518. 4 2 W760X147 754. 4 3 W610X140 2131 . 2 4 W530X109 434. 2 5 W460X74 647. 4 6 W360X79 1452. 3 7 W250X89 1466. 3 8 L125X125X10 267. 7 9 L90X90X10 166. 8 10 L90X90X10 163. 4 1 1 L75X75X10 208. 2 12 PL50X720 472. 0 13 PL14X3860 275. 4 1 4 PL30X600 454. 2 15 PL12X1500 275. 4 ESTImate USER'S GUIDE 6 5 . Multiple Linear Regression (output by subroutine MLR) This is the set of regression coefficients that best fit the combination of times or costs estimated by the estimation subroutine and those measured by the information system. The results show the expected result that items 1,2,4 .and 5 should all be multiplied by a factor of 1.10 while the others remain unchanged. The matrix of times shown below are the reestimated times, (not the initial input from the information system) and are in good agreement with the information system. PROJECT 501 M a t e r i a l b i l l 12 6 (T10,A10,T25,A40) 1 B P 2 B S 3 DR 4 P U 5 SA 6 SS B ( 0) = 0.0 1 ) = 1.10 2) = 1.10 3) = 1.00 4) = 1.10 5) = 1.10 6) = 1.00 time f o r b u r n i n g p l a t e s t ime f o r b u r n i n g shapes time f o r d r i l l i n g t i m e f o r punching time f o r s h e a r i n g a n g l e s t ime f o r sawing shapes B ( B ( B ( B ( B ( B ( 1 0.0 189.2 0.0 282. 1 0.0 0.0 518. 4 2 0.0 235.4 0.0 450.4 0.0 0.0 754. 4 3 0.0 0.0 772.0 0.0 0.0 1359.2 2131 . 2 4 0.0 1 53.4 0.0 241 .3 0.0 0.0 434. 2 5 0.0 0.0 254.0 0.0 0.0 393.4 647. 4 6 0.0 0.0 0.0 269.5 0.0 1155.8 1452. 3 7 0.0 209.4 1236.0 0.0 0.0 0.0 1 466. 3 8 0.0 0.0 0.0 180.4 63.0 0.0 267. 7 9 0.0 0.0 0.0 110.5 41.1 0.0 166. 8 10 0.0 0.0 0.0 102.3 46.2 0.0 163. 4 1 1 0.0 0.0 0.0 116.8 72.5 0.0 208. 2 12 258.2 0.0 188.0 0.0 0.0 0.0 472. 0 13 130.0 0.0 132.4 0.0 0.0 0.0 275. 4 14 303.8 0.0 120.0 0.0 0.0 0.0 454. 2 15 150.7 0.0 109.6 0.0 0.0 0.0 275. 4 ESTImate USER'S GUIDE 6 6 . 4. ESTImate C O M M A N D L A N G U A G E The ESTImate program is controlled by a command language which is set up in a hierarchical manner. Level 1 is accessed through the main program. Level 2 is accessed through the current main subroutines. Level 3 is accessed through the current lower level subroutines. In version 1.00 of ESTImate there is only one set of level 2 and 3 commands. This will be expanded in later versions where I/O commands will be essential. L E V E L 1 ESTImate Commands are: C R E A T E - creates a set of ESTImate subroutines GETSUB - select an estimate subroutine file ESTIMATE - use estimate subroutine ISINPUT - add input to the information system database QINPUT - add input to the quantity database M L R - perform Multiple Linear Regression V L E - edit variable lists DISPLAY - display a file STOP - return to VMS HELP - print this message L E V E L 2.1 V A R I A B L E LIST EDITOR Commands are: A D D - add a variable and its description D E L - delete one or more variables DESC - change a variable description LIST - display the variable list SAVE - save the new variable list SORT - sort alphabetically STOP - return to active mode HELP - print this message L E V E L 3.1 D E L E T E Commands are: N A M E - deletes one variable by name N U M - deletes variable number i R A N G E - deletes variables numbered i to j STOP - return to V L E mode HELP - print this message ESTImate USER'S GUIDE 67. 5. SUMMARIES of ESTImate SUBROUTINES SUBROUTINE COMPARE (VARLI ST 1 , VARLI ST2 , NTJMVAR1 , N U M V A R 2 , COMMAND) V A R L I S T 1 - the f i r s t l i s t of v a r i a b l e s . V A R L I S T 2 - the second l i s t of v a r i a b l e s . N U M V A R 1 - the number of v a r i a b l e s (from VARLIST 1 ) . NTJMVAR2 - t h e number of v a r i a b l e s (from V A R L I S T 2 ) . COMMAND - c o n t r o l p h r a s e : "SAME" - l i s t s a r e i d e n t i c a l . "ERR" - l i s t s a r e not i d e n t i c a l . T h i s s u b r o u t i n e compares two v a r i a b l e l i s t s . E v e r y i t e m must match i d e n t i c a l l y on t h e two l i s t s i n c l u d i n g t he number of i t e m s . SUBROUTINE CREATE A n a l y z i n g e s t i m a t i o n f u n c t i o n s from the a c t i v i t y d a t a b a s e , w i t h the l i s t of p o t e n t i a l v a r i a b l e s from the v a r i a b l e d a t a b a s e , CREATE c o n s t r u c t s a FORTRAN program which e s s e n t i a l l y matches the l o g i c of the e s t i m a t i o n f u n c t i o n s . The e s t i m a t i o n f u n c t i o n s must be i n p u t a c c o r d i n g t o the AD format i n i t i a l l y by hand, but can p o t e n t i a l l y be updated a u t o m a t i c a l l y u s i n g the MLR o u t p u t . S u b r o u t i n e s EQUATION and STEP a r e used t o p e r f o r m the d a t a a n a l y s i s , and s u b r o u t i n e s READACT and VLE a r e c a l l e d t o r e t r i e v e d a t a from s t o r a g e . SUBROUTINE DISPLAY T h i s s u b r o u t i n e prompts the us e r f o r a f i l e t o be d i s p l a y e d , a c c e p t i n g the d e f a u l t of .DAT as the d a t a t y p e . An e r r o r may occu r i f the user s p e c i f i e s a type o t h e r than a t e x t f i l e . ESTImate USER'S GUIDE 6 8 . SUBROUTINE EQUATION (VARLI ST, VARDESC, NUMVAR, INPUT, OUTPUT) VARLIST - t h e l i s t of v a r i a b l e s . VARDESC - t h e l i s t of v a r i a b l e d e s c r i p t i o n s . NUMVAR - the number of v a r i a b l e s . COMMAND - c o n t r o l phrase ( i f s e t t o "STOP" then VLE r e t u r n s t o M A I N or can be s e t t o "GO" t o become an i n t e r a c t i v e e d i t o r ) . INPUT - a c h a r a c t e r s t r i n g c o n t a i n i n g the i n p u t e q u a t i o n . OUTPUT - a c h a r a c t e r s t r i n g c o n t a i n i n g the output e q u a t i o n . T h i s s u b r o u t i n e was d e v e l o p e d i n a t e s t program c a l l e d INT and a c t s as t h e i n t e r p r e t e r of e q u a t i o n s used i n ESTImate. Input e q u a t i o n s a r e decomposed i n t o v a r i a b l e s , c o n s t a n t s , and o p e r a t o r s and the l o g i c of the e x p r e s s i o n i s t e s t e d . The r e s u l t i s an e q u i v a l e n t FORTRAN e q u a t i o n w r i t t e n t o OUTPUT. Each e q u a t i o n must c o n s i s t of a v a r i a b l e name and an e q u a l s s i g n f o l l o w e d by a s t r i n g of v a r i a b l e s , c o n s t a n t s and o p e r a t o r s . V a r i a b l e names can o n l y be made up of non-numeric c a p i t a l l e t t e r s . EXAMPLE: TIME = 10.1 * (WEIGHT + LENGTH/1.62) NOTATION: L = l e t t e r A , B , C , .. . , Z D = d i g i t 1 , 2 , 3 , . . . , 0 0 = o p e r a t o r ( + , - , * , / ) LSIG = l a s t s i g n i f i c a n t c h a r a c t e r NDECIMAL = number of d e c i m a l p l a c e s per c o n s t a n t (maximum of 1) LOGIC: L can f o l l o w L 0 ( or blank i f LSIG i s 0, ( or = D can f o l l o w D 0 ( = or blank i f LSIG i s 0, ( or = 0 can f o l l o w L D ) or bl a n k i f LSIG i s L, D or ) ( can f o l l o w 0 ( or bl a n k i f LSIG i s 0 or ( ) can f o l l o w L D ) or bl a n k i f LSIG i s L, D or ) . can f o l l o w D 0 ( or blank i f LSIG i s 0 or ( B U T o n l y i f NDECIMAL=0 ( r e s e t ) = can f o l l o w L or bl a n k i f LSIG i s L B U T M U S T FOLLOW F I R S T V A R I A B L E ESTImate USER'S GUIDE 6 9 . SUBROUTINE ESTIMATE Once l i n k e d t o t h e e s t i m a t e s u b r o u t i n e f i l e , t h i s s u b r o u t i n e e s t i m a t e s the v a l u e s of a l l v a r i a b l e s i n the v a r i a b l e o utput c o n t r o l f i l e VOC.DAT, u s i n g the q u a n t i t y database of the u s e r ' s c h o i c e . S u b r o u t i n e s VLE and READQUAN a r e c a l l e d t o r e t r i e v e d a t a . SUBROUTINE FILESTAT (NAME, TYPE, STAT) NAME - the name of the f i l e TYPE - the d a t a type STAT - a l o g i c a l v a r i a b l e The c a l l t o t h i s s u b r o u t i n e s h o u l d s u p p l y the name of a f i l e t o be t e s t e d , and a v a l u e of STAT (a l o g i c a l v a r i a b l e ) . INPUT VALUE of STAT TRUE TRUE FALSE FALSE FILESTATUS EXIST NONEXIST EXIST NONEXIST OUTPUT VALUE of STAT TRUE FALSE TRUE FALSE ERROR MESSAGE NO YES YES NO The i n p u t of a new f i l e n a m e must be done by the c a l l e r . SUBROUTINE GETSUB (SUBFILE) SUBFILE - name of the e s t i m a t e s u b r o u t i n e f i l e T h i s s u b r o u t i n e makes use of the VAX Run Time L i b r a r y f u n c t i o n which a c c e p t s a command t o c o m p i l e and l i n k the s e l e c t e d e s t i m a t i o n s u b r o u t i n e f i l e w h i l e u s i n g ESTImate. A command f i l e GETSUB.COM i s c a l l e d t o p e r f o r m t h i s a c t i o n p a s s i n g the name of the f i l e as a parameter. I n ESTImate v e r s i o n 1.00 t h i s r e q u i r e s about 30 seconds on a VAX 11/730. ESTImate USER'S GUIDE 7 0 . SUBROUTINE MLR T h i s s u b r o u t i n e was d e v e l o p e d t o i n v e s t i g a t e the p o t e n t i a l use of a m u l t i p l e l i n e a r r e g r e s s i o n model i n the e v a l u a t i o n of the e s t i m a t i o n of s t r u c t u r a l s t e e l f a b r i c a t i o n c o s t s . The p r e l i m i n a r y v e r s i o n s p e c i f i c a l l y d e a l t w i t h a case study where the p r o g r e s s of s p e c i f i c member t y p e s had been m o n i t o r e d by an i n f o r m a t i o n system, which r e c o r d s the time a t which the members pass key c h e c k s t a t i o n s i n the f a b r i c a t i o n p l a n t . The e s t i m a t i o n p r o c e s s was s i m p l i f i e d so t h a t a w o r k i n g program c o u l d be w i t t e n over a s h o r t p e r i o d of t i m e . S u b s e q u e n t l y t h e ESTImate program was w r i t t e n , and was done i n such a manner so t h a t MLR c o u l d be a t t a c h e d t o i t . The o r i g i n a l l i m i t a t i o n s of the case s t u d y were e l i m i n a t e d so t h a t the use of MLR i s now u n r e s t r i c t e d . ESTImate v e r s i o n 1.00 has no i n p u t mechanism f o r i n f o r m a t i o n system d a t a ; however, i t w i l l a c c e p t d a t a of ISD format f o r use i n the MLR r o u t i n e (see s e c t i o n 8 c ) . R E A D s u b r o u t i n e g r o u p SUBROUTINE READNAME(NUMBER,NAME) SUBROUTINE READNUM(NUMBER,NAME) SUBROUTINE READACT(UNIT,ACTNUM,ACTDESC,ACTDAT,NEQUA) SUBROUTINE READQUAN(UNIT,NAME,DESC,NUMVAR,FMT, VARLIST,VARDESC,MARK,QDESC,ACTCODE,NACT,V,COMMAND) SUBROUTINE READESTI(UNIT,NAME,DESC,NUMOUT,OUTLIST,OUTDESC, NUMQUAN,MARK,QDESC,X,I,J) SUBROUTINE READIS(UNIT,NAME,DESC,NUMOUT,OUTLIST,OUTDESC, NUMQUAN,MARK,QDESC,Y,I) Each of t h e above r o u t i n e s a r e used as mechanisms f o r c o l l e c t i n g d a t a from the a v a i l a b l e d a t a b a s e s . See s e c t i o n s on e r r o r messages and f i l e o r g a n i z a t i o n f o r more i n f o r m a t i o n . ESTImate USER'S GUIDE 71. SUBROUTINE STEP (ACTDAT, POINTER, VARLI ST, NTJMVAR, STEPDAT, N) ACTDAT - t h e a c t i v i t y d a t a l i s t . POINTER - the l o c a t i o n i n the a c t i v i t y d a t a . VARLIST - the l i s t of v a r i a b l e s . NTJMVAR - the number of v a r i a b l e s . STEPDAT - t h e s t e p f u n c t i o n d a t a l i s t . N - the number of s t e p f u n c t i o n e q u a t i o n s . The o r g a n i z a t i o n of a s t e p f u n c t i o n i s as f o l l o w s : S T E P / < v a r i a b l e name>/<number of eq u a t i o n s > <value1>,<value2> . . . e q u a t i o n . . . <value3>,<value4> . . . e q u a t i o n . . . <valueN-1>,<valueN> . . . e q u a t i o n . . . The word "STEP" i s r e a d by the c a l l i n g r o u t i n e , but the e n t i r e s e t of d a t a i s s t i l l p a ssed t o t h i s s u b r o u t i n e i n v e c t o r ACTDAT, w i t h the p o s i t i o n i n the v e c t o r marked by POINTER. The v a r i a b l e <varname> i s f i r s t drawn from VARLIST t o see i f i t e x i s t s . I f i t does, then V ( i ) i s used i n the IF THEN s t a t e m e n t s i n the s u b r o u t i n e s , e l s e an e r r o r message i s p r i n t e d . F o l l o w i n g t h i s t he bounds f o r <varname> which a p p l y t o t he f i r s t e q u a t i o n a r e r e a d . S u b r o u t i n e EQUATION i s c a l l e d t o rea d the f o l l o w i n g l i n e r e t u r n i n g the FORTRAN e q u a t i o n which i s then w r i t t e n w i t h the IF THEN statement t o v e c t o r STEPDAT. T h i s p r o c e d u r e c o n t i n u e s u n t i l t he l a s t e q u a t i o n i s p r o c e s s e d . The number of spaces used i n STEPDAT i s r e t u r n e d i n N. ESTImate USER'S GUIDE 72. SUBROUTINE VLE( VARLI ST, VARDESC, NUMVAR, COMMAND, VARF ILE) VARLIST - the l i s t of v a r i a b l e s . VARDESC - the l i s t of v a r i a b l e d e s c r i p t i o n s . NUMVAR - the number of v a r i a b l e s . COMMAND - c o n t r o l p h r a s e : "STOP" - r e t u r n s t o MAIN w i t h VARLIST and VARDESC. "GO" - VLE becomes an i n t e r a c t i v e e d i t o r . "NEW" - a new f i l e can be opened i n the e d i t o r . "ERR" - means t h a t an e r r o r o c c u r r e d i n VLE. VARFILE - t h e name of the d a t a f i l e which c o n t a i n s the v a r i a b l e s . T h i s s u b r o u t i n e p e rforms two f u n c t i o n s : 1. VARIABLE LIST EDITOR - s o r t s , adds, and d e l e t e s v a r i a b l e s from a l i s t , - d i s p l a y s the l i s t 2 . I/O O f LIST TO F I L E STORAGE - r e t r i e v e s v a r i a b l e l i s t s from s t o r a g e f i l e s . The f i l e i s an i n t e r n a l l y a l p h a b e t i z e d s e q u e n t i a l t y p e . ESTImate USER'S GUIDE 7 3 . 6. FILE NAME I/O NOTE: later versions of ESTImate will provide access to bypass these prompts by stacking of the commands issued by the user. The following is a list of the prompts issued by ESTImate: C R E A T E A c t i v i t y D a t a b a s e F i l e n a m e ? V a r i a b l e D a t a b a s e F i l e n a m e ? D o y o u w a n t t h e o u t p u t s e n t t o a file ? ( Y / N ) E s t i m a t e S u b r o u t i n e F i l e n a m e ? D I S P L A Y F i l e t o b e d i s p l a y e d ? T h e d e f a u l t file t y p e is F I L E . D A T I f y o u w a n t t o d i s p l a y s o m e o t h e r t y p e t h e n y o u h a v e t o w r i t e t h e f u l l n a m e . E S T I M A T E Q u a n t i t y D a t a b a s e F i l e n a m e ? D o y o u w a n t t h e o u t p u t s e n t to a f i l e ? ( Y / N ) E s t i m a t e D a t a b a s e F i l e n a m e ? GETSUB E s t i m a t e S u b r o u t i n e F i l e n a m e ? M L R E s t i m a t e D a t a b a s e F i l e n a m e ? I n f o r m a t i o n S y s t e m D a t a b a s e F i l e n a m e ? D o y o u w a n t t h e o u t p u t s e n t t o a file ? ( Y / N ) M L R O u t p u t F i l e n a m e ? ESTImate USER'S GUIDE 7. ERROR MESSAGES The following list shows the subroutines where a particular error message originates so that efficient diagnosis of any non- recoverable problem is possible. C O M P A R E N u m b e r o f v a r i a b l e s i n l i s t l : N u m b e r o f v a r i a b l e s i n l i s t 2 : D A T A F I L E S S E L E C T E D A R E I N C O M P A T I B L E • • • • • • E R R O R • • * • • • D A T A F I L E S S E L E C T E D A R E I N C O M P A T I B L E CREATE T h e n a m e s o f t h e t w o files m u s t b e d i f f e r e n t . . . . . . . . -TRY A G A I N . . . . . . . . " V O C " is r e s e r v e d f o r t h e O U T P U T C O N T R O L F I L E . . . . . . . . -TRY A G A I N • • • • • • • • DISPLAY A n e r r o r o c c u r r e d w h e n d a t a w a s b e i n g r e a d A n e r r o r o c c u r r e d w h e n t h e file w a s O P E N E D T h e m o s t l i k e l y c a u s e s o f t h i s a r e : 1. I n c o r r e c t f i l e s p e c i f i c a t i o n f o r t y p e . 2. D a t a w i t h u n u s u a l a t t r i b u t e s . EQUATION • • • • • • E R R O R I N V A R I A B L E N A M E • • • • • • • • • • • • E R R O R I N C O N S T A N T D E S I G N A T I O N • • • • • • • • • • • • E R R O R I N O P E R A T O R P L A C E M E N T • • • • • • • • • • • • E R R O R I N L E F T B R A C K E T P L A C E M E N T • • • • • • E R R O R I N R I G H T B R A C K E T P L A C E M E N T • • • • • • • • • • • • E R R O R I N D E C I M A L P L A C E • • • • • • • • • • • • T O O M A N Y D E C I M A L P L A C E S • • • • • • • • • • • • E R R O R I N E Q U A L S S I G N P L A C E M E N T • • • • • • • B R A C K E T S N O T B A L A N C E D • • • • • • • • • • • • T O O M A N Y E Q U A L S S I G N S • • • • • • • • • • • • V A R I A B L E " ' . V A R N A M E , ' " D O E S N O T E X I S T • • • • • • ESTIMATE Y o u h a v e n o t l i n k e d t h e e s t i m a t e s u b r o u t i n e file t o t h e E S T I M A T E s u b r o u t i n e ( u s e t h e G E T S U B c o m m a n d ) . " V O C " is r e s e r v e d f o r V A R I A B L E O U T P U T C O N T R O L • • • • • • • • TRY A G A I N E R R O R T O O M A N Y V A R I A B L E S I N O U T P U T L I S T s o l u t i o n : u s e s e v e r a l o u t p u t files o r r e d u c e t h e s i z e o f t h e v a r i a b l e s . R E V I S E T H E D A T A F I L E E S T I m a t e U S E R ' S G U I D E M L R • E R R O R • • • • • • D A T A F I L E S S E L E C T E D A R E I N C O M P A T I B L E R E A D A C T • • • • • • E R R O R ( O R E N D I N R E A D ) • • • • • • T h e m o s t c o m m o n e r r o r s f o u n d a r e : 1. A c t i v i t y d e s c r i p t i o n m i s s i n g . 2. A c t i v i t y n u m b e r m i s s i n g . 3. R E T U R N o r E N D m i s s i n g . S e e t h e E S T I m a t e u s e r g u i d e r e g a r d i n g " O r g a n i z a t i o n o f t he A c t i v i t y F i l e " . R E A D E S T I • • • • • • E N D I N R E A D O F N A M E • • • • • • E R R O R I N R E A D O F N A M E • * E N D I N R E A D O F D E S C • • • • • • E R R O R I N R E A D O F D E S C • E N D I N R E A D O F N U M O U T • • • • • • • • • • • • E R R O R I N R E A D O F N U M O U T • • • • • • • • • • • • E N D I N R E A D O F F M T ( l ) * • • • • • • E R R O R I N R E A D O F F M T ( l ) • • • • • • • • • • • • E N D I N R E A D O F B L A N K • • • • • • E R R O R I N R E A D O F B L A N K • • • * • • • E N D I N R E A D O F O U T L I S T • • • • • • * E R R O R I N R E A D O F O U T L I S T • • • • • • E N D I N R E A D O F FMT(2) •••••• E R R O R I N R E A D O F F M T ( 2 ) * • • * • • * E R R O R I N R E A D O F X V E C T O R • • • • • S e e t h e E S T I m a t e u s e r g u i d e r e g a r d i n g " O r g a n i z a t i o n o f t he E s t i m a t e F i l e " . ESTImate USER'S GUIDE 76. R E A D I S • • • • • • E N D IN R E A D OF N A M E • • • • • • • • • • • • ERROR IN R E A D OF N A M E • • • • • • • • •* • • E N D IN R E A D OF DESC • • • • • • ERROR IN R E A D OF DESC • • • •* • • • • • • • E N D IN R E A D OF NUMOUT • • • • • • ERROR IN R E A D OF N U M O U T • • • • • • • E N D IN R E A D OF FMT(1) * ERROR IN R E A D OF FMT(l) • • • • • • • • • • • • E N D IN R E A D OF B L A N K • • • • • • • ERROR IN R E A D OF B L A N K • • • • • • • E N D IN R E A D OF OUTUST • • • • • • • • • • • • ERROR IN R E A D OF OUTLIST • • • • • • • • • • • • E N D IN R E A D OF FMT(2) •••••• • • • • • • ERROR IN R E A D OF FMT(2) • ERROR IN R E A D OF Y VECTOR • • • • • • See the ESTImate user guide regarding "Organization of the Information System File" READQUAN FREE F O R M A T IS NOT A L L O W E D FOR M A R K or DESC E N D IN R E A D OF N A M E ERROR IN R E A D OF N A M E • • • • • • • • • • • • E N D IN R E A D OF DESC • • • • • • ERROR IN R E A D OF DESC • • • • • • • • • • • • E N D IN R E A D OF NACT • • • • • • • • • • • • ERROR IN R E A D OF NACT • • • • • • E N D IN R E A D OF N V A R • ERROR IN R E A D OF NVAR • • • • • • E N D IN R E A D OF ORDER * ERROR IN R E A D OF ORDER • • • • • • . . . . . . E N D IN R E A D OF N U M V A R • • • • • • * ERROR IN R E A D OF N U M V A R • • • • • • E N D IN R E A D OF FMT(l) • • • • • • ERROR IN R E A D OF FMT(l) • • • • • • . . . . . . E N D IN R E A D OF FMT(2) •••••• • • • • • • ERROR IN R E A D OF FMT(2) •••••• E N D IN R E A D OF FMT(3) • • • • • • ERROR IN R E A D OF FMT(3) •••••• * E N D IN R E A D OF FMT(4) •••••• • • • • • • ERROR IN R E A D OF FMT(4) * * E N D IN R E A D OF VARIABLES) • • • • • • • • • • • • E N D IN R E A D OF VARIABLE^) • • • • • • • • • • • • E N D IN R E A D OF M A R K * • • • • • • ERROR IN R E A D OF M A R K * . . . . . . E N D I N . R E A D OF A C T C O D E < I ) * • • • • • • ERROR IN R E A D OF ACTCODE(I) . . . . . . E N D IN R E A D OF V ( O R D E R ( I ) ) * . . . . . . ERROR IN R E A D OF V ( O R D E R ( I ) ) * See the ESTImate user guide regarding "Organization of the Quantity File". E S T I m a t e U S E R ' S G U I D E S T E P • • • • • • V A R I A B L E " V A R N A M E " D O E S N O T E X I S T E R R O R I N N U M B E R • • • • • • E R R O R I N R E A D O F A C T D A T • * T O O M A N Y ' D E C I M A L P L A C E S * * • • • • * * E R R O R I N N U M B E R • • • • • VLE Y o u i d a t a file h a s a m i s t a k e i n t h e n u m b e r o f v a r i a b l e s " N U M V A R " T H E A C T U A L N U M B E R IS N O T I f y o u S A V E t h e file, a n d s tar t a g a i n t h i s w i l l b e c o r r e c t e d f o r y o u . N u m b e r o f b l a n k v a r i a b l e s e n c o u n t e r e d = • E R R O R B A D D A T A F I L E • • • • • • N A M E is a l r e a d y o n t h e v a r i a b l e l i s t N A M E is n o t o n t h e v a r i a b l e l i s t N O V A R I A B L E S W E R E D E L E T E D E R R O R W A S : N o v a r i a b l e o f n a m e N O V A R I A B L E S W E R E D E L E T E D E R R O R W A S : N o v a r i a b l e o f n u m b e r N O T E : I f J is l e s s t h a n I, t h e n o n l y o n l y V A R L I S T ( I ) is d e l e t e d . E R R O R I N R A N G E N U M B E R * N O V A R I A B L E S W E R E D E L E T E D E R R O R W A S : N o v a r i a b l e s i n r a n g e E S T I m a t e U S E R ' S G U I D E 78. 8. DATA FORMAT The f l o w c h a r t showing the o r g a n i z a t i o n of the ESTImate program ( F i g 1) d i s p l a y s a l l d a t a f i l e s as being enclosed by r e c t a n g l e s . The f o l l o w i n g l i s t i d e n t i f i e s the type of format used by each d a t a f i l e . The format types are given i n a l p h a b e t i c a l order f o l l o w i n g t h i s page. ESTImate D a t a f i l e s : format A. PROCESS DATA - ACTIVITY DATABASE AD - VARIABLE DATABASE VLE - MLR OUTPUT MLR B. PROJECT DATA - QUANTITY DATABASE QD - ESTIMATE DATABASE ED - INFORMATION SYSTEM DATABASE IS - BID OUTPUT N/A - SCHEDULE OUTPUT N/A C. ESTImate CONTROL DATA - VARIABLE INPUT CONTROL VLE - QUANTITY INPUT CONTROL QIC - INFORMATION SYSTEM INPUT CONTROL I SIC - VARIABLE OUTPUT CONTROL VLE E S T I m a t e U S E R ' S G U I D E 79. AD FORMAT The o r g a n i z a t i o n of the a c t i v i t y f i l e i s as f o l l o w s : a c t i v i t y d e s c r i p t i o n ACTIVITY NUMBER . . . e q u a t i o n s . . . RETURN a c t i v i t y d e s c r i p t i o n ACTIVITY NUMBER . . . e q u a t i o n s . . . RETURN END For more i n f o r m a t i o n on the e q u a t i o n s , see EQUATION and STEP s u b r o u t i n e summaries. A l s o see the example E S T I m a t e U S E R ' S G U I D E 80. ED FORMAT The o r g a n i z a t i o n of the e s t i m a t e f i l e i s as f o l l o w s : NAME Name of q u a n t i t y f i l e DESC - Q u a n t i t y d a t a d e s c r i p t i o n NUMOUT - Number of output v a r i a b l e s FMT(1) - Format of v a r i a b l e numbers, names and d e s c r i p t i o n s 1 OUTLISTO) OUTDESCO) 2 OUTLIST(2) 0UTDESC(2) 3 OUTLISTO) OUTDESCO) NUMOUT OUTLIST(NUMOUT) OUTDESC(NUMOUT) FMT(2) - Format of e s t i m a t e output MARK QDESC V(1) V(2) V(3) . V(NUMOUT) See the example i n s e c t i o n 3 c i i E S T I m a t e U S E R ' S G U I D E 81. I S D F O R M A T The o r g a n i z a t i o n of the inf o r m a t i o n system f i l e i s as f o l l o w s : NAME - Name o f q u a n t i t y f i l e DESC - Q u a n t i t y d a t a d e s c r i p t i o n NUMOUT - Number o f o u t p u t v a r i a b l e s F MT ( 1 ) - Format of v a r i a b l e numbers, names and d e s c r i p t i o n s 1 O U T L I S T ( 1 ) OUTDESC( 1 ) 2 0 U T L I S T ( 2 ) O U T D E S C ( 2 ) 3 O U T L I S T ( 3 ) OUTDESC(3) NUMOUT OUTLIST(NUMOUT) OUTDESC(NUMOUT) F M T ( 2 ) - Format of i n f o r m a t i o n s y s t e m o u t p u t MARK QDESC Y ( l ) See t h e example i n s e c t i o n 3 c i i . E S T I m a t e U S E R ' S G U I D E 82. MLR FORMAT The o r g a n i z a t i o n of the MLR o u t p u t f i l e i s as f o l l o w s NAME - Name of q u a n t i t y f i l e DESC -. Q u a n t i t y data d e s c r i p t i o n NUMOUT - Number of output v a r i a b l e s FMT(1) - Format of v a r i a b l e numbers, 1 OUTLIST(1) OUTDESC(1) 2 OUTLIST ( 2 ) 0 U T D E S C ( 2 ) 3 OUTLIST(3) OUTDESC(3) names and d e s c r i p t i o n s NUMOUT B ( 0 ) B ( 1 ) B ( 2 ) OUTLIST(NUMOUT) OUTDESC(NUMOUT) B(NUMOUT) See the example i n s e c t i o n 3 c i i . E S T I m a t e U S E R ' S G U I D E 8 3 . Q D F O R M A T The o r g a n i z a t i o n of the q u a n t i t y f i l e i s as f o l l o w s NAME DESC FMT(1) NACT FMT(2 ) NVAR ORDER(nvar) FMT(3) NUMVAR FMT(4) QUANTITY DATABASE NAME q u a n t i t y database d e s c r i p t i o n format of f i r s t d a t a l i n e (member number of a c t i v i t i e s format of second d a t a l i n e (the a c t i v i t y code) number of i n p u t v a r i a b l e s V or d e r of i n p u t v a r i a b l e s i n q u a n t i t y format of t h i r d d a t a l i n e ( t h e i n p u t number of v a r i a b l e s V format of v a r i a b l e l i s t . mark & d e s c r i p t i o n ) database v a r i a b l e s ) (1 ) ( 2 ) (3) VARLIST(1) V A R L I S T ( 2 ) VARLIST(3) VARDESC(1) VARDESC(2) VARDESC(3) (NUMVAR) VARLIST(NUMVAR) VARDESC(NUMVAR) da t a l i n e 1 d a t a l i n e 2 d a t a l i n e 3 d a t a l i n e 1 d a t a l i n e 2 d a t a l i n e 3 data l i n e 1 d a t a l i n e 2 d a t a l i n e 3 d a t a l i n e 1 d a t a l i n e 2 d a t a l i n e 3 d a t a l i n e 1 c o n t a i n s : - Member mark, Member d e s c r i p t i o n d a t a l i n e 2 c o n t a i n s : - A c t i v i t y method code da t a l i n e 3 c o n t a i n s : - V e c t o r V(NVAR) f o r the member N d a t a l i n e 1 d a t a l i n e 2 d a t a l i n e 3 END ( c o n t r o l f o r l o o p i n g ) must be i n the f i r s t column ! See the example i n s e c t i o n 3c i i . E S T I m a t e U S E R ' S G U I D E 84. VLE FORMAT The o r g a n i z a t i o n of VLE f i l e s i s as f o l l o w s : FORTRAN format NUMBER OF VARIABLES (T10,I3) 1 NAME(1) DESC(1) 2 NAME(2) DESC(2) (T10,A10,T25,A40) 3 NAME(3) DESC(3) NUMVAR NAME(NUMVAR) DESC(NUMVARI See the example i n s e c t i o n 3 c i i . 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.831.1-0062467/manifest

Comment

Related Items