Reference

AlllDl AlllDS ^77fiD

IMBSIR 79-1929

A Computerized Approach for

Identifying Cost-Effective Fire Safety

Retrofits in Health Care Facilities

Robert E. Chapman

Center for Building Technology

William G. Hall ^

Center for Applied Mathematics

Phillip T. Chen '

Center for Building Technology

National Engineering Laboratory

National Bureau of Standards

U.S. Department of Commerce

Washington, D.C. 20234

December 1979

Final Report

Issued January 1 980

-QC100

I.U56

Sponsored by the:

Center for Fire Research

JIational Engineering Laboratory

Jational Bureau of Standards

Washington, D.C. 20234

79-1929

I 1980

I
'

,;Ti

i
NBSIR 79-1929

A COMPUTERIZED APPROACH FOR

IDENTIFYING COST-EFFECTIVE FIRE SAFETY

RETROFITS IN HEALTH CARE FACILITIES

AnOMAL BUHBAU

OW 8TAMDARU8

LIBBARY SEP 1 9 1980

0 Qc '{^o

!

Robert E. Chapman

Center for Building Technology

William G. Hall

Center for Applied Mathematics

Phillip T. Chen

Center for Building Technology

National Engineering Laboratory

National Bureau of Standards

Washington, D.C. 20234

December 1979

Final Report

Issued January 1980

Sponsored by the;

Center for Fire Research

National Engineering Laboratory

National Bureau of Standards

Washington, D.C. 20234

U.S. DEPARTMENT OF COMMERCE, Philip M. Klutznick, Secretary

Luther H. Hodges, Jr., Deputy S§cr9t»ry

Jordon J. Beruch, Astistnnt S9cr9tary for Schnco and Tachnology

NATIONAL BUREAU OF STANDARDS, Ernest Ambler, Director
UAJUlUa OAHOtTAll

'.MaAOW&n lo

08cr e 1 <*32

* .4' * "%‘in

»»,. J-^ I ,

!

H

FA. rrs^jnk 3w*^lw^s|^mo_,0wi#rW

"•

-. U.. I aarniio/ii^

""'

'

'

y»' %’W#^

’if-...' 7I^\ - .-r^-A*U-‘,..^

.i:

• > "; -r . ..

, ^"

"-H. ••«

JjT '.. . V....?l

'!i

''

- €

Oli£,E- ' T: . ^

®r^T.

... bixmw^^; ‘ jjrt

htr ' Yto»«!aij^.i<hiii#

,ji.:?,f »llTsbwJ^tO.Jtf«»TOi to.nCTfBM

?* ' ...

( ;. '

»i „' <

L-#-; ^ y ,

• .'’"4 ^ 'v'ij

> ' i.>U,#ri/wW.

^^Sar-C^

, v®*S)p^%E,V

A'

v-Lfcttf'i-.J m

'MVt: Ai!

Afi

9W ' ...'#"J' V

'

' "'V. ^fi' ,,

‘

e; . ,-*.' »*;- :8i),^ s£ 'i'-. i*'.' •'"^

*k^ . ‘4> ih U-f^r *?:;

:r 1^1

i-A Xk J
PREFACE

This research was conducted under the sponsorship of the Center for

Fire Research by the Applied Economics Group, Center for Building

Technology, and the Operations Research Division, Center for Applied

Mathematics, National Engineering Laboratory, National Bureau of

Standards

.

This study develops a computerized procedure which helps identify the

least-cost means of retrofitting a designated area of a health care facility to achieve compliance to the Life Safety Code. The procedure

also identifies from 10 to 20 retrofit alternatives, some of which are quite close to the least-cost solution. The procedure is intended to

be used as a management tool to facilitate the design selection process

by providing both information on relative costs and a chance to match

common retrofit packages across areas of the health care facility designated

as deficient.

Appreciation is extended to Dr. Harold E. Marshall and Ms. Kimberly A.

Barnes, Applied Economics Group, who reviewed the economic aspects

of this paper. Appreciation is also extended to Ms. Patsy Saunders,

Dr. Howard Hung and Mr. Ralph Schofer, Operations Research Division,

and Messrs. Harold E. Nelson and A. J. Shibe, Center for Fire Research,

who provided many useful suggestions for improving the treatment of certain

topics in this paper. Special appreciation is extended to Dr. Alan J.

Goldman, Operations Research Division, whose stimulating discussions

provided guidance and encouragement throughout this effort.

Ill
ABSTRACT

This study focuses on how a computerized version of the Fire Safety

Evaluation System developed by the Center for Fire Research at the

National Bureau of Standards can be used to determine equivalence to

the Life Safety Code in the least costly manner. This study presents

a programmer-oriented discussion of the mathematical, economic and

engineering considerations that went into the development of the linear

programming algorithm for identifying cost-effective retrofits.

Programmer-oriented topics treated in this report include: a discussion

of user options; program documentation; format statements; flow charts;

sample computer runs; and a complete listing of the computer program.

Keywords: Applied economics; building codes; economic analysis; fire

safety; health care facilities; hospitals; life safety;

mathematical programming; nursing homes; optimization;

renovation.

IV
CONTENTS

Page

PREFACE iii

ABSTRACT iv

LIST OF FIGURES vii

LIST OF TABLES vii

LIST OF EXHIBITS viii

SI CONVERSION UNITS ix

1. .INTRODUCTION 1

1.1 Background 1 1.2 Purpose 2 1.3 Scope and Approach 3

1.4 The Fire Safety Evaluation System 4

2. COMPUTERIZED PROCEDURE FOR IDENTIFYING COST-EFFECTIVE

RETROFITS 13

2.1 Method of Approach . 14

2.2 Problem Formulation 15

2.3 Description of Computer Algorithm 19

2.4 Applying the Computerized Procedure 25

2.4.1 Data Requirements and User Options 26

2.4.2 The Output Format and Its Interpretation .... 38

3. SUMMARY 7 40

APPENDIX A Unit Pricing Information 42

APPENDIX B Documentation of Computer Algorithm/Program . 45

B.l Program Functional Description 45

B.2 Variable Definition 49

B.3 Definitions of Data Inputs 53

B.4 Description of Reports Produced 55

APPENDIX C Sample Computer Runs 60

APPENDIX D Listing of the Computer Programs 83

D.l Listing of MAIN Program 85

D.2 Listing of Subroutine PRSOL

(PRint SOLutions) 97

V
Page

D.3 Listing of Subroutine FEASIB

(FEASIBility Test) 98

D.4 Listing of Subroutine MOTEST

(Modification TEST) 99

D.5 Listing of Subroutine RHTAB

(Right Hand TABles). 99

D.6 Listing of Subroutine RVSMPX

(Revised SiMPleX) 100

D. 7 Listing of Subroutine PRSMX

(PRint SiMpleX) 112

REFERENCES 114

VI
LIST OF FIGURES

Page

1.1 Delphi Method 5

2.1 User Flowchart 14

2.2 Optimal Solution: Graphical Method 20

2.3 Alternative Solution: Graphical Method 23

D.l Flowchart of Computer Program 84

LIST OF TABLES

Page

1.1 Values of Safety Parameters Corresponding to Strict

Compliance to the Life Safety Code for Non-Spr inklered

Health Care Facilities 7

2.1 Abbreviations for Elements and Units to be Used in

Reporting Data on Potential Retrofits 27

2.2 Listing of Data Requirements 28

2.3 User Options: Control and Modification Statements ... 34

vii
LIST OF EXHIBITS

Page

1.1 Occupancy Risk Factor Calculation Worksheet 8

1.2 Worksheet for Determining the Values of the Safety

Parameters 9

1.3 Worksheet for Calculating Containment Safety,

Extinguishment Safety, People Movement Safety,

and General Safety 11

1.4 Worksheet for Evaluating Fire Zone Safety Equivalency 12

2.1 Initial Inputs 26

2.2 Sample Input Information on Potential Retrofits 30

2.3 Sample Control/Modification Card Sequence 35

2.4 Sample Output Format for Optimal and Prescriptive Solutions 39

C.l Sample Input Run Stream 62

C.2 Sample Output Run Stream 63

viii

f
SI CONVERSION UNITS

The conversion factors and units contained in this report are in accordance with the International System of Units (abbreviated SI for Systeme

International d'Unites). The SI was defined and given official status

by the 11th General Conference on Weights and Measures which met in

Paris, France in October 1960. For assistance in converting U.S. custom

ary units to SI units, see ASTM E 380, ASTM Standard Metric Practice

Guide, available from the American Society for Testing and Materials,

1916 Race Street, Philadelphia, PA 19103. The conversion factors for

the units found in this Standard are as follows:

Length

1 in - 0.0254* meter

1 ft = 0.3048* meter

1 mil = 0 • o o in

1 yd = 0. 9144* meter

Area

1 in2 = 6 .4516* X 10”^me ter^

1 ft2 = 0 .0929 2 meter

1 yd2 = 0 .836 meter^

Volume

1 in3 = 1 .639 X 10 ^mete r3

1 liter — 1.00* X 10~^me ter^

1 gallon = 3.785 liters

Temperature

°C = 5/9 (Temperature °F -32)

* Exactly

IX

1 . INTRODUCTION

1.1 BACKGROUND

The identification of cost-effective levels of fire safety in health care facilities is a major concern to hospital administrators, fire safety

engineers and public policy makers. Rising construction and operating

costs coupled with more stringent building codes and continuing advances

in medical and building technology have complicated the issue, forcing

health care facility administrators to carefully assess the alternative

means through which they can design, construct or update their facilities. Although multiple death fires in health care facilities are rare occurrences, the potential for major losses of life and property does

exist and should be recognized in the selection of fire safety measures.

This potential and the resulting need for a national commitment to fire

safety in health care facilities has been emphasized in numerous congressional hearings.^

The National Fire Protection Association (NFPA) has long been recognized

as a vehicle through which such a national commitment could be achieved.

For over 60 years the NFPA has been a leader in the development of voluntary codes which establish acceptable fire safety levels. The Life Safety

Code (NFPA 101-1973) is currently the most widely used guide for identifying the minimum level of fire safety in buildings. Although the code may

be thought of as prescriptive since it prescribes fixed solutions for life

safety in designated occupancies, performance concepts can be explicitly

introduced through a provision which allows for equivalent solutions. In

particular. Provision 1-3118 states:

Nothing in this code is intended to prevent the use of new methods

or new devices, providing sufficient technical data is submitted

to the authority having jurisdiction to demonstrate that the new method or device is equivalent in quality, strength, fire resistance, effectiveness, durability, and safety to that prescribed

by this code.

In light of this provision, the National Bureau of Standards* Center for

Fire Research, through support from the Department of Health, Education

and Welfare, has developed a system for detennining how combinations of

several widely accepted fire safety systems could be used to provide a

Tragedy of Multiple Death Nursing Home Fires: The Need for a National

Commitment to Safety , Select Committee on Aging, Subcommittee on LongTerm Care, September 1976.

Code for Safety to Life from Fire in Buildings and Structures , National

Fire Protection Association, NFPA 101-1973, p. 101-2.

1
level of safety equivalent to (equal to) that required in the 1973 Life

Safety Code.^ The equivalency methodology which emerged from this effort

is particularly attractive since it lends itself to computer optimization

techniques. Such an optimization technique should result in improved

fire safety in health care facilities because it will resolve many of

the differences of opinion surrounding the cost impacts of fire safety

in health care facilities in general and the Life Safety Code in

particular.

1.2 PURPOSE

The purpose of this report is to present a programmer-oriented description of the mathematical, economic, and engineering considerations that

went into the development of a linear programming algorithm which permits

the least cost means of achieving compliance to the Life Safety Code to

be identified.

The computer program discussed in this report is particularly useful

because it is based on the equivalency methodology developed by the

Center for Fire Research. Since the NFPA is in the process of adopting

this equivalency methodology into the Life Safety Code, any solutions

from the computer program will satisfy Provision 1-3118 of NFPA 101-1973.

Furthermore, since each of the parameters used in the equivalency methodology has a unique value which corresponds to strict compliance, it is

possible to quantify the cost savings attributable to a performance based

approach or equivalency methodology over that of strict compliance.

Although the procedure is valid for both new and existing facilities,

it is anticipated that its primary use will be in identifying alternative

courses of action open to administrators faced with retrofitting existing

facilities

.

The computer program uses as its primary input information collected as an integral part of a thorough fire safety evaluation. This information

permits the current state of the health care facility to be unambiguously

identified. The least-cost or optimal combination of retrofits is identified using the following information:

(1) the current state of the health care facility;

(2) the minimum passing "score" needed to achieve compliance; and

(3) the anticipated costs of each retrofit measure.

The computer program then generates and analyzes a class of alternative

retrofit combinations. The optimal combination of retrofits and any

alternatives which the program produces, usually between 10 and 20, are then summarized in tabular form and ranked from least costly to most

costly. By using this approach, health care facility decision makers

^ H. E. Nelson and A. J. Shibe, A System for Fire Safety Evaluation

of Health Care Facilities , National Bureau of Standards,

NBSIR 78-1555, November 1978.

2
have greater flexibility in choosing among retrofit combinations. In

particular, by providing alternatives, the decision maker has the opportunity to assess very effectively the impact that nonconstruction costs

would have on the choice of the optimal retrofit combination.

1.3 SCOPE AND APPROACH

The bulk of this report is composed of a set of technical appendices.

These appendices are designed to be self-contained and hence may be

read independently. The major thrust of each appendix is to lay out

in detail the technical and theoretical considerations upon which the

computerized version of the Fire Safety Evaluation System are based.

In that sense the technical appendices are supporting evidence for

results presented in the companion report. Economic Aspects of Fire

Safety in Health Care Facilities: Guidelines for Cost-Effective

Retrofits .

The final section of Chapter 1 outlines the Fire Safety Evaluation

System and establishes a framework for the development of the linear

programming package discussed in the remainder of the report.

The computer program and its method of solution are presented in

Chapter 2. A mathematical discussion of the linear programming package used to identify the least-cost combination of retrofits is then

given. The way in which the computer program generates alternative

solutions using the optimal solution as a base is then presented.

Explicit directions for using the computer program and interpreting

its output are given in the final section of Chapter 2.

Appendix A presents the retrofit cost data used in the computerized

procedure. The purpose of this appendix is to serve as a ready reference for potential users who may wish to adjust one or more of the

retrofit costs to reflect local construction market conditions.

Appendix B gives a programmer-oriented description of the linear programming package. The appendix includes algorithmic and functional

descriptions as well as user options and general requirements.

Appendix C consists of a series of sample computer runs. These runs are designed to highlight the input and output format and the user options

which have been built into the procedure.

The report concludes with a listing of the complete computer software

package. All programs presented in Appendix D are written in FORTRAN.

Robert E. Chapman, Philip T. Chen, and William G. Hall, Economic

Aspects of Fire Safety in Health Care Facilities: Guidelines for

Cost-Effective Retrofits , National Bureau of Standards, NBSIR 79-1902,

November 1979.

3
1.4 THE FIRE SAFETY EVALUATION SYSTEM

The Fire Safety Evaluation System is a quantitative evaluation system for

grading fire safety in health care facilities. The primary use of the

system is to determine how combinations of widely accepted fire safety

equipment and building construction features may provide a level of safety

equivalent to that required by the 1973 Life Safety Code. Three major

concepts are basic to the Fire Safety Evaluation System. They are.

1) Occupancy Risk : the number of people affected by a given fire,

the level of fire they are likely to encounter, and their

ability to protect themselves.

2) Building Safety Features ; the ability of the building and its

fire protection systems to provide measures of safety commensurate with the risk.

3) Safety Redundancy : in-depth protection, through the simultaneous use of alternative safety methodologies such as Containment, Extinguishment, and People Movement. The design of the

complete fire safety system is intended to ensure that the

failure of a single protection device or method will not result

in a major failure of the entire system.

The concept of safety redundancy is of central importance to the Fire

Safety Evaluation System since Provision 2-1111 of the Life Safety Code

requires:

The design of exits and other safeguards shall be such that

reliance for safety to life in case of fire or other emergency

will not depend solely on any single safeguard; additional safeguards shall be provided for life safety in case any single

safeguard is ineffective due to human or mechanical failure.^

The task of ensuring that the Fire Safety Evaluation System satisfied

Provision 2-1111 of the Life Safety Code was the responsibility of a panel of fire safety experts. The goal of the panel was to reach consensus on all relevant fire safety issues. To facilitate this process,

a management tool known as the Delphi Method was used. The Delphi Method,

as used in developing the Fire Safety Evaluation System, consisted of

four steps. These steps are illustrated in Figure 1.1. Notice that the

steps illustrated in the figure form a closed loop. This is because a certain amount of recycling of ideas was needed in order to achieve consenus

Definitions are taken from the report by H. E. Nelson and A. J. Shibe,

A System for Fire Safety Evaluation of Health Care Facilities , National

Bureau of Standards, NBSIR 78-1555, November 1978.

2 Code for Safety to Life from Fire in Buildings and Structures , National

Fire Protection Association, NFPA 101-1973, p. 101-4.

4
FIGURE 1.1 DELPHI METHOD

DELPHI METHOD

REASSESS/

RECYCLE

SELECT

SAFETY

FACTORS

WEIGHTS TO

PARAMETERS

IDENTIFY

SAFETY

PARAMETERS
The first step in the process was to select a set of key safety factors.

These factors were related to the concepts of Occupancy Risk and Building

Safety Features mentioned earlier. (For example, Occupancy Risk includes

as a factor Patient Mobility and Building Safety Features includes as

a factor Interior Finish in the Corridor and Exits.) The second step

focused upon the identification of a set of parameter associated with

each factor. (For example. Patient Mobility includes as parameters Mobile,

Limited Mobility, Not Mobile, Not Movable. Interior Finishes in the Corridor

and Exits include Class A, Class B, and Class C flame spread ratings

as parameters.) The third and most critical step was to assign a weight

to each parameter which best reflects either the relative risk posed

by that parameter or the net contribution to life safety provided by

that parameter. More specifically, negative values reflected greater

risks whereas positive values contributed toward a higher level of safety

within the fire zone.^ The system treats a value of zero as "safety"

neutral. (The values for the three parameters associated with the safety

factor Interior Finish in the Corridor and Exits are: Class C, -5 points;

Class B, 0 points; and Class A, 3 points.) In the fourth step, the value

of each safety parameter assigned by the panel is reassessed for adequacy

and consistency. In the event that the system which emerged from the

panel was shown to be inadequate or inconsistent, the entire four-stage

process was repeated. The end result of the panel's work was a series

of worksheets which permitted the relative merits of each fire safety

parameter to be carefully assessed. These worksheets are presented as Exhibits 1.1 through 1.4. In addition, since each of the 13 Building

Safety Features (see Table 1.1) has a unique parameter which corresponds

to strict compliance, it was possible to compute the score, or level

of safety, provided by the Life Safety Code for Extinguishment, Containment

and People Movement Safety. These values were then used as a base which

any alternative to strict compliance to the Life Safety Code had to match

or exceed.

The first worksheet. Exhibit 1.1, consists of a brief description of

the fire zone and the means for calculating Occupancy Risk. Occupancy

Risk is calculated by selecting the appropriate value for each of the

five factors shown in Table 1 of Exhibit 1.1. These values are then

entered into the coded spaces in Table 2 (Exhibit 1.1) and multiplied

together to get an unadjusted occupancy risk factor. The resultant is

then entered either in Table 3A (Exhibit 1.1) if the building is new

or in Table 3B if the building is existing. The occupancy risk factor

for the fire zone is then calculated by taking the product of the weighting

factor and the unadjusted occupancy risk factor. The Occupancy Risk factor

is then used to establish the minimum level of General Safety which must

be provided by the 13 Building Safety Features in order to be deemed

in compliance to the Life Safety Code.

1 A fire zone is defined as a space separated from all other spaces by

floors, horizontal exits, or smoke barriers.

6
Table 1.1 VALUES OF SAFETY PARAMETERS CORRESPONDING TO STRICT COMPLIANCE TO THE LIFE SAFETY

CODE FOR NON-SPRINKLERED HEALTH CARE FACILITIES

BUILDING TYPE

SAFETY

FACTOR NEW 1 STORY

NEW-MORE

THAN 1 STORY

EXISTING

1 STORY

EXISTING

MORE THAN

1 STORY

PROT. NONCOMB.

FIRE RESISTIVE PROT. NONCOMB. FIRE RESISTIVE

1. CONSTRUCTION 2 4 2 4

2. INTERIOR FINISH CLASS A CLASS A CLASS B GLASS B [Corr. 6f Exit] 3 3 0 0

CLASS B CLASS B CLASS B GLASS B

3. INTERIOR FINISH

[ Rooms

1 1 1 1

4. CORRIDOR ^ 1.0 HR ^ 1.0 HR < 1/3 HR < 1/3 HR

PARTITIONS /WALLS 2 2 0 0

5. DOORS TO

> 20 Min > 20 Min. > 20 Min. 20 Min.

CORRIDOR 1 1 1 1 100'-150' 100'-150' 100'-150' 100'-150'

6. ZONE DIMENSIONS^ 0 0 0 0

7. VERTICAL

Non-App. 2 HR Non-App. ^ l-< 2 HR

OPENINGS 0 3 0 2 No Deficiencies No Deficiencies No Deficiencies No Deficiencies

8. HAZARDOUS

AREAS

0 0 0 0

Smoke Partition Smoke Partition Smoke Partition Smoke Partition

9. SMOKE CONTROL 0 0 0 0

10. EMERGENCY

Multiple Routes Multiple Routes Multiple Routes Multiple Routes

MOVEMENT ROUTES 0 0 0 0

W/FD Conn. W/FD Conn. W/O/FD Conn. W/O/FD Gonn.

11. MANUAL FIRE

ALARM 2 2 1 1 Corridor Only Corridor Only None None

12. SMOKE DETECTION

& ALARM

2 2 0 0

None None None None

13. AUTOMATIC

SPRINKLERS

0 0 0 0

TOTAL VALUE 13 18 5 9

^ Protected Noncombustible

^ No dead ends greater than 30 feet and corridor length is as recorded.

7
EXHIBIT 1.1 OCCUPANCY RISK FACTOR CALCULATION WORKSHEET

Table 1. OCCUPANCY RISK PARAMETER FACTORS

RISK PARAMETERS RISK FACTOR VALUES

1. PATIENT

MOBILITY [M]

MOBILITY

STATUS

MOBILE

LIMITED MOBILITYNOT

MOBILE

NOT

MOVABLE

RISK FACTOR 1.0 1.6 3.2 4.5

2. PATIENT PATIENT 1-5 6-10 11-30 >30

DENSITY [0] RISK FACTOR 1.0 1.2 1.5 2.0

3. ZONE

LOCATION (Lj

FLOOR 1ST 2ND OR

3RD

4TH TO 6TH

7TH AND

ABOVE

BASE- MENTS

RISK FACTOR 1.1 1.2 1.4 1.6 1.6

4. RATIO OF PATIENTS 3J yo H

ONE OR*

MORE

PATIENTS TO ATTENDANT 1 1 1 1 NONE

ATTENDANTS (T) RISK FACTOR 1.0 1.1 1.2 1.5 4.0

5. PATIENT

AVERAGE

AGE (Aj

AGE UNDER 65 YEARS

AND OVER HEAR

65 YEARS & OVER

1 YEAR & YOUNGER

RISK FACTOR 1.0 1.2

* RISK FACTOR OF 4.0 IS CHARGEO TO ANY ZONE THAT HOUSES

PATIENTS WITHOUT ANY STAFF IN IMMEDIATE ATTENDANCE

Table 2. OCCUPANCY RISK FACTOR CALCULATION

OCCUPANCY RISK

M

X

D X

L X x

A F

Table 3A. (NEW BUILDINGS) Table 3B. (EXISTING BUILDINGS]

1.0*

F R

0.5*

F R

8
EXHIBIT 1.2 WORKSHEET FOR DETERMINING THE VALUES OF THE SAFETY PARAMETERS

Table 4. SAFETY PARAMETERS VALUES

PARAMETERS PARAMETERS VALUES

1. CONSTRUCTION

COMBUSTIBLE

NON-COMBUSTIBLE

WOOD FRAME ORDINARY

FLOOR OF ZONE UNPROTECTED PROTECTED UNPROTECTED PROTECTED UNPROTECTED PROTECTED FIRE RESIST

FIRST -2 0 -2 0 0 2 2

SECOND -7 -2 -4 -2 -2 2 4

THIRD -9 -7 -9 -7 -7 2 4

4TH A ABOVE -13 -7 -13 -7 -9 -7 4

7 INTFR lOR FINISH CLASS C C ASS B CLASS A

(Corr. & Exit) -5 0 3

3. INTERIOR FINISH IRaamsj

CLASS C CLASS B CLASS A -3 1 3

4. CORRIDOR

PARTITIONS/WALLS

NONE OR

INCOMPLETE

<t/3 HR >1/3 <1.0 HR 51.0 HR. -10 ( 0 )* 0 1 ior 2 lor

5. DOORS TO CORRIDOR

KO DOOR <20 MIN FR >20 MIN FR >20 MIN FR & AUTO CLOS -10 0 1

| 0 )*" 2 10 |“*

6. ZONE DIMENSIONS

DEAD END MORE THAN 100' DEAD END

30‘-100' NO DEAD ENDS >30' A ZONE LENGTH IS: >150' 100'-150' <100' -6 ( 0 |** -4 101" -2 0 1

7. VERTICAL OPENINGS

OPEN 4 OR MORE

FLOORS OPEN 2 OR 3 FLOORS

ENCLOSED WITH INDICATED FIRE RESIST.

<I HR >1HR.<2 HR. ^2 HR -14 -10 0 2 lor 3 ior

8. HAZARDOUS AREAS

DOUBLE DEFICIENCY SINGLE DEFICIENCY NO DEFICIENCIES

IN ZONE OUTSIDE ZONE IN ZONE IN ADJACENT ZONE

-11 -5 -6 -2 0

9. SMOKE CONTROL

NO CONTROL SMOKE PARTITION MECH ASSISTED SYSTEMS

-2 | 0 |^^^

0

BY ZONE BY CORRIDOR

3 4

10. EMER MOVE

<2 ROUTES MULTIPLE ROUTES GENCY MENT

-8

DEFICIENT CAPACITY W/O HORIZONTAL

EXITIs] HORIZONTAL EXITIsl DIRECT EXITIsl ROUTES -2 0 3 5

11. MANUAL FIRE ALARM

NO M4NUAL FIRE 4L4RM MANUAL FIRE ALARM

-4

W/O F D CONN W/F.D CONN

1 2

17 cunK c ncTCPTinu NONE CORRIDOR ONLY ROOMS ONLY CORRIDOR A HABIT SPACE

4

TOTAL SPACE

i ALARM 0 2 3 5

13. AUTO

SPRIN

LiiTir NONE CORRIDOR CORRIDOR & HABIT SPACE

8

TOTAL SPACE nA 1 lU KLERS 0 2 | 0 )” 10

NOTE: *Use |0| when Item 5 Is -10. ••Use |0| when Item 10 Is -8

•••Use |0| In zone with less than 31 patients

in existing buildings.

•Use |0| when item 1 Is based on lirst floor zone or on an unprotected type of construction. •*Use (0| when Item 1 Is based on an unprotected type of construction. •••Use |0] when Item 4 Is -10.

9
The second worksheet, Exhibit 1.2, provides the foundation for the

computerized procedure discussed in Chapter 2 and Appendices B, C, and D.

Table 4, Exhibit 1.2, gives the scores associated with the parameters

for each of the 13 Building Safety Features. To evaluate each fire zone,

it is necessary to identify the appropriate value associated with each

of the 13 Building Safety Features. The existing state of the fire zone

is then defined by recording (circling, marking, or checking) all of

these values on Table 4 (Exhibit 1.2). In the evaluation, it is important

to point out that the level of each Building Safety Feature is determined

by the worst case condition within the fire zone. Referring once again

to Exhibit 1.2 it can be seen, for each Building Safety Feature, that

those parameters which have a higher score represent potential retrofits.

For example, if in the current state the flame spread rating on Interior

Finishes in the Corridor and Exits was Class C, then both Class B and

Class A flame spread ratings would be potential retrofits. More importantly,

by combining the improvement in score with the anticipated retrofit costs,

it is. possible to establish a means for upgrading the level of fire

safety within the fire zone in the most cost-effective manner.

Table 5, the third worksheet, is shown in Exhibit 1.3. Table 5 Exhibit

1.3 Provides a means for calculating the score associated with the four

safety redundancy requirements. (The four safety redundancy requirements

are: 1) Containment Safety; 2) Extinguishment Safety; 3) People Movement

Safety; and 4) General Safety.)

In order to calculate the score for each of the safety redundancy requirements, it is necessary to enter the value of the parameter identified

in Table 4 (Exhibit 1.2) as corresponding to the existing state of the

Building Safety Feature into the appropriate spaces in the coded rows

of Table 5 (Exhibit 1.3). (No values are entered in the shaded spaces

of Table 5, Exhibit 1.3.) Each of the four columns is then summed to

get an overall score. These scores are labeled Sp S

2

, S^ and Sq in

Table 5 of Exhibit 1.3.

The fourth worksheet provides the means for determining whether or not

the fire zone generates a level of fire safety equivalent to that of the

Life Safety Code. Basically, this is done by taking the four scores calculated in Table 5 (see Exhibit 1.3) and entering them in the boxes

labeled Sp So. S

2 and Sg. The user then selects the values from Table 6

(see Exhibit 1.4) for Containment Safety, Extinguishment Safety, and

People Movement Safety for the appropriate building type and fire zone location. These values are entered in the boxes labeled S^, S^^, S^

in Table 7 of Exhibit 1.4. The Occupancy Risk factor calculated on

the first worksheet is then entered in the box labeled R. Based on these

two sets of numbers, it is possible to test if the fire zone provides

a level of safety equivalent to the Life Safety Code. This test is performed

by determining if the difference between the first set of numbers, Sp

S

2

, S

3

, and Sq, and the second set of numbers, S^, S^j, S^, and R, in

Table 7 (see Exhibit 1.4) is greater than or equal to zero.

10
EXHIBIT 1.3 WORKSHEET FOR CALCULATING CONTAINMENT SAFETY, EXTINGUISHMENT

SAFETY, PEOPLE MOVEMENT SAFETY, AND GENERAL SAFETY

Table 5. INDIVIDUAL SAFETY EVALUATIONS

SAFETY

PARAMETERS

CONTAINMENT EXTINGUISHMENT PEOPLE

SAFETY SAFETY MOVEMENT

(Si) (S2) SAFETY (S3)

GENERAL

SAFETY

(Sg)

1. CONSTRUCTION

2. INTERIOR FINISH

(Corr. & Exit)

3. INTERIOR FINISH (Rooms)

4. CORRIDOR

PARTITIONS/WALLS

5. DOORS TO

CORRIDOR

6. ZONE DIMENSIONS

7. VERTICAL OPENINGS

8. HAZARDOUS AREAS

9. SMOKE CONTROL

10. EMERGENCY

MOVEMENT ROUTES

11. MANUAL FIRE ALARM

12. SMOKE DETECTION & ALARM

13. AUTOMATIC

SPRINKLERS

2 =

TOTAL VALUE S]= S2= S3= h=

11
EXHIBIT 1.4 WORKSHEET FOR EVALUATING FIRE ZONE SAFETY EQUIVALENCY

Table 6. MANDATORY SAFETY REQUIREMENTS

CONTAINMENT

Sa

EXTINGUISHMENT

Sb

PEOPLE MOVEMENT

Sc

ZONE LOCATION New Exist. New Exist. New Exist.

FIRST FLOOR 9.0 4.0 6.0 3.0 6.0 1.0

ABOVE FIRST FLOOR 14.0 8.0 8.0 5.0 9.0 3.0

Table 7. ZONE SAFETY EQUIVALENCY EVALUATION YES NO

CONTAINMENT

, MANDATORY . SAFETY iS)l CONTAINMENT |Sal

Si Sa c

EXTINGUISHMENT MANOATORY

SAFETY fS2l EXTINGUISHMENT |Sbl

S2 Sb E

PEOPLE MANDATORY

MOVEMENT,. , less PEOPLE >0

SAFETY 1^31 MOVEMENT (Sc)

S3 Sc P

GENERAL OCCUPANCY

SAFETY |Sg1 RISK |R|

1

Sg R G

12
In the event that the fire zone fails to pass the equivalency test,

it will be necessary to select a retrofit strategy which will ensure

that the Building Safety factors produce scores which match or exceed

each of the four redundancy requirements. A systematic means for doing

this which explicitly introduces relative costs into the retrofit

decision is the subject of the remainder of this report.

2. COMPUTERIZED PROCEDURE FOR IDENTIFYING COST-EFFECTIVE RETROFITS

The computerized procedure presented in this section is based on a mathematical technique known as linear programming. In its usual context

linear programming deals with the problem of allocating limited resources

among competing activities in an optimal way. At the foundation of any

linear programming problem is a mathematical model which describes the

problem of concern. In this case the mathematical model is the Fire

Safety Evaluation System. The term "linear" refers to the requirement

that all mathematical functions in the model are linear.^ The term

"program" is used in the general sense in that it refers to a plan

rather than a computer program per se . The basic reason why all mathematical functions involved in the problem are linear may be explained

through reference to Table 4 and Table 5 of the Fire Zone Safety Evaluation Worksheet (see Exhibits 1.2 and 1.3). In Table 4 there is one

and only one level of each Building Safety Feature possible at any one

time. This is due to the requirement that the most hazardous level

associated with each feature determines the score for that feature. In

Table 5 (Exhibit 1.3) the score for each of the four safety redundancy

requirements (containment safety, extinguishment safety, people movement

safety, and general safety) is the sum of the values of the appropriate

parameter identified in Table 4 (Exhibit 1.2) as either the existing

state or a potential retrofit.

^ A linear function is defined as a function of the form

f(X) = 3

q

+ ^1^1 + • • • + ^j^j n n where aj are coefficients not all zero and the x- are geometrical representation of a linear function is a s a plane, or a hyperplane. For example, f(x) = a + bx,

is a linear function where g(x) = c + dx^, a parabola.

variables. The

traight line,

a straight line,

is not.

2 The above condition ...requires that all variables corresponding to

factor levels must be either zero or one. The solution to a linear

programming problem yields continuous variables; however, it can be

shown that, because of the constraint structure of the model, the

continuous solution is always "nearly" integer.

13
2.1 METHOD OF APPROACH

The method of approach taken in developing and using the linear programming procedure has the Fire Safety Evaluation System as its foundation.

The steps which must be taken in order to go from the basics of the Fire

Safety Evaluation System to the linear programming procedure are the

subject of this section. To illustrate these steps a schematic diagram

known as a flowchart is useful.

FIGURE 2.1 USER FLOWCHART

IDENTIFY

POTENTIAL

RETROFITS

ACCEPT

COUNT OR

ELEMENTS MODIFY

COSTS

RUN

COMPUTER

PROGRAM

Figure 2.1 displays the sequence of steps between the Fire Safety Evaluation System and the computerized procedure. As a first step the Fire

Zone Safety Evaluation Worksheet must be used to identify the existing

state of each of the 13 Building Safety Features. Plugging this information into Table 5 of the worksheet (see Exhibit 1.3) permits the existing

state of each feature and each individual fire zone to be determined.

Using the information on the existing state for each feature as a starting

point, engineering judgment may then be used to identify a set of potential

retrofits. It is important to point out that based on engineering judgment

some "theoretically" possible retrofits may be excluded.^ One important

opportunity which should not be overlooked is the collection of information on potential retrofits during the safety inspection. As indicated

in the third block, once a set of potential retrofits has been identified

it is then necessary to count the number of elements which must be treated

in order to move to a higher state. The fourth step in the sequence of

events relates to the unit cost or cost per element. These costs are

the ones actually used in performing the economic analyses. They are

an integral part of the procedure and are stored in an "element cost

matrix." This cost matrix interacts with the information on the number

of elements in the following way. Associated with each potential retrofit

is a set of information on the one or more elements which must be treated

to move to a higher state. This "format" is followed when information

^ Engineering input is important at all stages of the procedure but is

particularly important in identifying potential retrofits.

This opportunity represents the first of three user options which will

be addressed in Section 2.4. (A theoretically possible retrofit is any

parameter which has a higher score than the parameter corresponding

to the existing state.) By the same token the user has the option to

require that a particular retrofit be undertaken, or not undertaken.

14
on the number of elements is input. All of this information is then

stored in an "element count matrix." The product of the element

count and element cost matrices yields the total cost associated with

each potential retrofit. It is important to point out that the user

has the option to accept or modify any information contained in the

element cost matrix. The considerations underlying the per unit or per

element costs are presented in Appendix A. Thus, should the user feel

that the information in the element cost matrix does not adequately

reflect the costs associated with the local construction market or is

inappropriate on some other grounds, it can be modified either through

the use of time-location factors or changing one or more of the engineering assumptions.

The information identified in the sequence of steps outlined above is

the only information required to run the computerized procedure.

Although the computerized procedure is only a "working prototype" a maximum amount of flexibility has been built into it. These efforts

at simplifying the procedure are the subject of Sections 2.4 and 2.5.

The subject of the next two sections, however, is the formulation of the

linear programming problem and a discussion of how the computer algorithm

selects the optimal solution and generates a set of alternatives. Certain

portions of the discussion which follows are more technical than previous

sections. Therefore the reader who is primarily interested in obtaining

a conceptual understanding of linear programming and how it may be applied

to the problem of retrofitting a fire zone is directed to Section 2.3.

2.2 PROBLEM FORMULATION

To formulate the mathematical model (linear program) for this problem,

we shall refer to information in Table 4 of the Fire Zone Safety Evaluation Worksheet. Table 4 may be thought of as a matrix with 13 rows,^ one

^ Building Safety Feature 1, Construction, is a special case. In Table 4

of the Worksheet there are four separate rows of scores corresponding to

different floors of the building. Since a retrofit involving a change

of floor need not be considered, only one of these rows (that for the

appropriate floor) is included in the computer stored version of Table 4.

Each row is divided into three segments: (1) Combustible-Wood Frame;

(2) Combustible-Ordinary; and (3) Non-combustible. The first two segments contain two cells: (1) Unprotected; and (2) Protected. The third

segment contains three cells: (1) Unprotected; (2) Protected; and (3)

Fire Resistive. The procedure assumes that it is impossible to move

from one segment to another. This assumption was made because of the

difficulty in identifying cost elements and standard procedures for

such retrofits. For computation purposes a dummy element is added to

segments one and two. This permits an auxiliary 4 by 3 by 3 array to

be used to store all values of the first Building Safety Feature and

simplifies the construction of the computer stored version of Table 4.

This approach may be changed when actual production runs begin

15
for each of the 13 Building Safety Features and 6 columns.^ There are up to 6 parameters (states) associated with any given safety feature. The

variable is used to identify the state of each factor. By definition,

• is equal to one if the i*" factor is in the state and is zero otherwise. (Recall that the score for each factor is determined by the

most hazardous condition within the fire zone.) V^. is the score associated with the i*"^ feature and state (entry in Table 4). These values

are taken directly from Table 4. For example, if the i^^ factor is in the

state the value, or score, associated with the i*"^ row is V- -X- • since

X^j I xs equal to zero for j unequal to j. Score improvements are thus

possible as a result of retrofits. If the i*" factor is currently in the

j state, preretrofit or current state, and X^- would

be the postretrofit or new state. It is of course required that

otherwise no improvement has been made. An examination of the scores associated with X^j and X^- shows that >

'^ij* time to show

how costs may be introduced into the mathematipal model. The variable

is used to record the cost of upgrading the i*" Building Safety Feature from

the state to the state. For each possible retrofit being considered,

C- • is a function of the number of elements and the unit cost or cost per

element. In mathematical terms C^- is the dot product of the i^" vector of

element quantities and the i^^ vector of element costs.

Keeping in mind that the objective is to match or exceed the scores for

each of the four categories of safety (containment, extinguishment, people

movement, and general) in the least costly manner, it is now possible to

fQrmulate the problem ijiathematically. The problem is to choose

ji ^ j £ where j^ is the current state of the i*"^ factor and ji;-^

,c — — '•ijiax ’ -^c , ... -'majj

IS the maximal state of the i factor, so as to minimize total retrofit

costs

13

Z i=l

X^j = 0 or 1

^ There are no more than five real states for any of the safety factors,

but the conditions *, **, and ... footnoted in Table 4 are most easily

accommodated by the introduction of contrived variables and constraints.

Therefore the extra column is required. The contrivance is not observable by the user; pre-optimization and post-optimization processing

transform the variables from and to those defined by Table 4.

2 Several of the V^-'s have alternative values due to the level of some other Building Safety Feature (other i). Whenever such a situation

occurs it is called a row interdependence. Three distinct row interdependencies are possible. These interdependencies, which involve

rows 4, 5 and 6, are defined in the footnotes at the bottom of Table 4.

These interdependencies may result in up to 3 additional constraints,

called interdependency constraints, and up to 3 additional variables,

called dummy states.

16
subject to

(1) parameter value constraints for the cases where row interdependencies

are not possible are given as:

ii

-^max

J-Jc

for i 4, 5, 6

parameter value constraints for the cases where a row interdependence

is possible are given as:

^max+l

.^i "ij ' ' J'Jc

for i = 4, 5, 6

where + 1 denotes a dummy state

(2) parameter value interdependency constraints^

^45 ^51 ~ ^

^41 ^53 ^54 ^55 “ °

^65 ^66 " ^lO’l " °

(3) total value requirements

ii

^max

leSj

z ieS,

Z ie S.

ji

-•max

Z , V. .X. . - Y. = S, i ij ij 2 b

J J^.

-'max max

J=JJc J=13

- Yo = s

The dummy variables X/ c, a row interdependence be

and X^^ represent dummy states

in effect.

should

17
13

Z i=l

i

J- -’max

Z j=jc

Y

4

= R

where

''ij

'ij

i = the factor index (row of Table 4),

j = the state index (column of Table 4),

th = the score associated with the i feature and

state (entry in Table 4),

= the total retrofit cost of going from the

:th state to the state, ^ for the i*"” feature th

^ If ^ corresponding to a regression in score, then

C£j= 20 times the maximum cost, that is, arbitrarily large.

If = ic

Cij = 0 indicating that it is possible to remain in the current

state at no cost.

^ Jc ^ potential retrofit is possible.

H

transpose of the vector of element counts, and

vector of element costs

> jj ar^

by the user then

C£j is made arbitrarily large.

If ^ imax* ® dummy state due to a row interdependence, then

Cij - 0 V£j = 0

If j ^ ^ j ^ ^max — J

C. . = e* ij

where

e| = the

c^ = the

If jLx i j'

precluded

18
= (1. 2, 3, 4, 5, 7, 8 , 13),^

5

2 = (1, 8 , 11, 12, 13),

5

3 = (2, 5, 6 , 7, 9, 10, 12),^

^A’ ^B’

~ mandatory safety requirements from Table 6 ,

R = calculated risk factor from Tables 1, 2, and 3, and,

Yp Y

2

> Y

3

, Y^ = nonnegative surplus variables representing a requirement excess

2.3 DESCRIPTION OF COMPUTER ALGORITHM

This section will draw upon the mathematical formulation of the problem

presented in the previous section to show how an optimal combination of

retrofit options can be selected. The way in which alternative solutions

are generated will also be presented. In order to focus on the main

concepts, a geometrical, rather than an algebraic, approach will be presented. Algebraic discussions which parallel the geometric illustrations

will be presented in footnotes as needed. Those readers interested in a programmer oriented discussion of the computer algorithm are referred to

Appendix B of this report.

In order to illustrate graphically how the computerized procedure operates, it will be necessary to use an example in which it is assumed that

the level of containment safety is a function of the fire rating in

minutes of two techniques, "A" and "B." A graphical solution to the

least-cost means of achieving a given level of containment safety is

shown in Figure 2.2. In the figure, any movement up along the vertical

axis indicates higher fire ratings for technique "A." Similarly any move

raent out along the horizontal axis indicates higher fire ratings for

technique "B." Consequently, if one were to construct a straight line

which passed through the origin, any movement outward along that line

(i.e., a move in the north easterly direction) would indicate a movement

to higher levels of containment safety.

In Part A of Figure 2.2, the lightly shaded region represents all the com

binations of fire ratings on techniques "A" and "B" which match or exceed

the containment safety requirements of the Life Safety Code. The lightly

shaded region in Part A of Figure 2.2 is referred to as the feasible

region since all points which lie along its boundary or within are

1 Numbers in parentheses denote rows of Table 5 of the Fire Zone Safety

Evaluation Worksheet.

19
FIGURE 2.2 OPTIMAL SOLUTION: GRAPHICAL METHOD

Part A

Part B

20
technically feasible.^ The boundary is all those combinations of the

two techniques which exactly satisfy the containment safety requirements

of the Life Safety Code.

In Part B of Figure 2.2 a series of equal cost lines are shown. (Recall

that an equal cost line shows all the combinations of technique "A" and

technique "B" which cost the same. It is drawn based on the assumption

that the unit prices for technique "A" and technique "B" are constant.)

Higher equal cost lines imply greater costs are being incurred. By

referring to Part B of Figure 2.2, it can be seen that the first equal

cost line does not touch the shaded region, implying that not enough

funds are being allocated to attain the level of containment safety

required by the Life Safety Code. The second equal line curve just

touches a vertex of the shaded feasible region. Since no other equal

cost line which is lower also touches the feasible region, it can be

asserted that the point of contact is the least-cost combination of the

two factors generating containment safety. Figure 2.2 also illustrates

that if more money were spent it would still be possible to achieve

the same level of safety, as shown by the vertex of the feasible region

labeled "b". However, from the graph, it can be seen that it would

be more cost effective to use those dollars to achieve a higher level

1 Algebraically the feasible region for this case may be expressed as

2 j^

-^max

I L V

.Y- • > S

, .i ij — containment

1=1 J=Je

where i = 1 refers to technique "A"

i = 2 refers to technique "B”; and

= either 0 or 1 and

ji

-’max

Z X' •

= 1 ._.iiJi

J-Jc

If a nonnegative surplus variable, Y, is included, the inequality can

be turned into the following equality

2 Jmax

I Z V- -X. . - Y = S

, , . .i ij ij containment

1=1 J=Je

21
of containment safety than required by the code. Such a strategy would

result in a point lying entirely within the feasible region such as "c."^

One way in which alternative solutions are generated by the computerized

procedure is shown graphically in Figure 2 . 3 .

The procedure actually used in the computer program generates two classes

of alternative solutions. Only the first class is illustrated in

Figure 2 . 3 . The optimal solution derived earlier is denoted by "a" in

Figure 2 . 3 .

For example, suppose X^. appears in the optimal solution as a retrofit

(i.e., X- • = 1 ), then the cost, C--, of going from X> • , the preretrofit

state, to j

, the postretrofxt state is made arbitrarily high. This

step guarantees that X^ • can no longer be in the optimal solution.

Graphically this would correspond to a rotation of the equal cost line.

The new solution would thus be the point at which the lowest of the new

class of equal cost curves just touches the feasible region. Such a point

is designated a b in Figure 2 . 3 . Exactly analagous is the case where X^j

did not appear in the optimal solution (i.e., X^j = 0 ). In this case,

the cost of going from X- • to X •

• , C • • is held fixed and all C-. , j , *-Jc ‘J

The problem is solved algebraically through the use of the simplex

algorithm. As a first step, a simplex tableau is established similar

to the one for the simplified problem shown below

2 4

^11 Xi2 Xi 3 ^14 X2I X22 X23 X24 z zx-

i=lj=l^

1 1 1 1 0 0 0 0 = 1

0 0 0 0 1 1 1 1 = 1

^11 ^^12 ^^14 ^^21 V22 V23 ^^24 Y = S containment

^11 ^12 ^13 <=14 =21 ^22 ^23 ^24 = OBJECTIVE

The method then proceeds by first identifying a basic feasible solution, some vertex of the feasible region. Such a solution could be the

highest state for each of the two techniques. The elements, Xj^ and

X2^, of the basic feasible solution are referred to as a basis. The

next step is a basis changing process known as pivoting. Each pivot

or basis change is the selection of an adjacent vertex. Elements are removed and included to produce another basis as long as the pivoting

process results in reductions of the objective function (retrofit

costs). The resulting solution is the minimum value of the objective

function.

2 An arbitrarily high retrofit cost is defined as one which is 20

times the highest individual retrofit cost.

22
FIGURE 2.3 ALTERNATIVE SOLUTION: GRAPHICAL METHOD

LEVEL

OF A

LEVEL OF B

23
are made arbitrarily high. This step guarantees that X^- will appear in

the optimal solution as a retrofit. The number of solutions generated

in this class is equal to the number of variables in the original linear

programming problem minus the number of retrofit states which cannot be

attained (those within a row having a lesser value than the input and

those precluded by an arbitrarily high cost). In the simple case illustrated graphically, up to six alternative solutions could be generated.

The second class of alternatives is determined by the rows of Table 4.

For example, suppose appears in the optimal solution as a retrofit,

then the cost of going from X^j to X—' for all j', < j* £

1.-U where is the maximal state in the i*^ row is made arbitrarily

high. This step guarantees that no potential retrofits associated with

that factor, say automatic sprinkler systems, can appear in the optimal

solution. The number of solutions generated is equal to the number of

factors (rows in Table 4) which moved to a higher state (were retrofitted) in the optimal solution.

The two classes of alternative solutions described above are very interesting because they are "close" to the optimal solution. "Close" is put

within quotation marks because through reference to Figure 2.3 it can

be seen that the alternative solutions are adjacent vertices of the boundary

of the feasible region.^ Thus "close" means a small change in the basis

rather than a small change in the objective function. Although these

solutions will be more costly than the optimal solution, some of them

will be extremely close (in dollar terms) to the least-cost combination

of retrofits.

All of the discussion has proceeded as if the continuous solution to the

optimization were actually the integer solution. In general, this is not

true; however, there are several strong arguments for the approach used.

The first is the "near integer" property of the solutions; the second,

the judicious selection of the family of alternate solutions; and the

third, the computational cost, efficiency, and reliability of the algorithm. Each of these is discussed in turn.

The near integer property occurs because of the structure of the constraint matrix. Ignoring, for the moment, the contrived constraints'^

a solution will have exactly 17 variables. The 13 equations corresponding

to the Building Safety Features in Table 4 have no variables in common

and each has a right hand side of 1. Therefore, there are 13 mutually

In n dimensional space the alternative solutions correspond to the

vertices of the polyhedron (feasible region) in the neighborhood of

the optimal basis (optimal combination of retrofits). Therefore, they

should map into a neighborhood about the optimal value of the objective function (least-cost combination of retrofits).

2 Experience • has shown that the contrived constraints ...help in reducing

the number of non-integers.

24
exclusive subsets of the 17 variables which must sum to 1. Since it

requires at least two fractions to sum to 1, there must be at least

nine variables which are exactly one. Nine or more integers among the

13 variables of interest is defined as near integer. Nine integers is

the worst case; some of the variables may be zero and/or some of the

surplus variables (the Y's in Section 2.2) may be non-zero. Should either

condition occur, there are fewer than 17 variables to be included in

the 13 subsets and more than ten of the variables may be integer.

Regardless of the integer characteristics of the optimal solution, it

represents a lower bound on the total retrofit cost. It is obvious that

the introduction of an additional constraint cannot improve the cost.

In production work, although not in the development work to date, a heuristic integerization procedure would be applied to each solution generated. This would produce an integer solution by making a minimal change

in the basic continuous solution.

One of the criteria used in the design of the alternate solution family

was that any variable appearing as a fraction in the optimal solution

must appear in at least one of the alternates as one and be suppressed

^n at least one of the alternates. Other criteria were that the alternates should be amenable to generation via a systematic but comprehensive

specification, that they meet (at least our conception of) user needs,

and that the number of alternates be adequate but not burdensome.

Thus the solutions presented, while not guaranteed to include the optimum

integer solution, do contain:

(1) a bounding value on the retrofit cost;

(2) costs corresponding to the alternates most likely to be

considered by the user; and

(3) one or more costs close to the integer optimum.

To solve the optimization problem as an integer model is actually possible. The reasons for selecting a continuous model are completely

pragmatic. Computation time for an integer solution can be expected

to be an order of magnitude higher. Off-the-shelf software existed for

the continuous but not for the integer solution; this is quite important

since its impact is not merely on development costs but on reliability

and system maintenance costs while operating in the production mode.

For production, some satellite software (again off-the-shelf, proven,

and reliable) is available which can reduce the costs of alternate solutions by about a factor of three. No analogous method is known for the

integer problem.

2.4 APPLYING THE COMPUTERIZED PROCEDURE

Thus far the focus has been on how the computerized procedure operates.

The purpose of this section is to build on that base and illustrate how

the procedure can be applied in an actual case. Two subsections have

been prepared to achieve this objective. The first subsection is con25
cerned with the input portions of the coinputer program (data requirements

and user options). The second subsection is concerned with the output

of the computer program. For those readers wishing a more detailed

treatment of the computerized procedure, including formatting, documentation and sample computer runs, two technical appendices have also been, .• prepared.

2.4.1 Data Requirements and User Options

Before the computerized procedure can be exercised, all potential retrofits must first be identified. Once this information is available, it

is possible to identify and count the elements which require treatment

in order to move to a higher state. These data requirements are listed

in Table 2.2. Table 2.1 defines the abbreviations for the elements which

appear In Table 2.2. Under the assumption that all elements have been

counted, it becomes possible to examine the computer input in detail. A

sample computer run will be used in order to illustrate the input data

requirements

The first three lines of input specify (1) the initial state of the fire

zone, (2) the occupancy risk factor, and (3) information on the building

and zone location. All information required for the first line of the

input may be taken directly from Table 4 of the Fire Zone Safety Evaluation Worksheet. In particular, each Building Safety Feature has its parameters numbered from 1 to n, where n could be 3, 4 or 5, depending on the

feature.^ The number corresponding to the existing state of each feature

is then identified for use as an input. All information required for the

second line of input may be taken directly from Table 1 of the Fire Zone / Safety Evaluation Worksheet. As in the previous case, each parameter is

numbered from 1 to m, where m could be 2, 4 or 5. The number corresponding

to the existing state is then identified for use as an input. The first

three lines of the sample input are shown below as Exhibit 2.1.

Exhibit 2.1 Initial Inputs

Line Sample Input

1 3, 1, 1, 2, 1, 2, 3, 1, 1, 3, 2, 1, 1^ 2 3, 4, 2, 3, 1 3 - 1, 2, 3, 3, 32

Recall that "Row 1" of Table 4 is actually a 4 (Floor of Zone) by 3 (Combustible-Wood Frame, Combustible-Ordinary, Noncombustible) by 3 Unprotected, Protected, Fire Resistant) array. Consequently, "Row 1" as used here refers to the vector whose elements correspond to the

Unprotected, Protected, Fire Resistant and Combustible-Wood Frame,

Combustible-Ordinary, Noncombustible condition specified in line 3 of the input. i

26
Table 2.1 Abbreviation for Elements and Units to be Used

in Reporting Data on Potential Retrofits

Abbreviation Definition

Ft^(C) Square feet of construction to

be protected (e.g., ceilings,

walls, columns, or floors)

Ft^(F) Square feet of floor area

Ft^(W) Square feet of wall area

Ft(P) Linear feet of partition extended

to the structural slab

D Number of doors

D + F Number of door and frame systems

0 Number of openings

C Number of closers

FD Number of fire doors

FD + F Number of fire door and frame systems

CPFD + F Number of corridor partitionings

with fire door and frame systems

S Number of stairwells

# Number of any element/unit

27
Table 2.2 Listing of Data Requirements

Factors Parameters Va lues

Combustible Noncombustible

1. CONSTRUCTION Wood Frame Ordinary

L FLOOR Protected Protected Protected Fire Resist

#

_ Ft^(C) Ft^(C) Ft^(C) Ft^(C)

Class B Class A

2. INTERIOR

[Corr. & FINISHExit] Ft^(F),Ft^(W) Ft^(F),Ft^(W)

3. INTERIOR FINISH Class B Class A

[Rooms

Ft^(F),Ft^(W) Ft^(F),Ft^(W)

4. CORRIDOR

<1/3 Hr 1/3-1. 0 Hr >1.0 Hr

PARTITION WALLS

Ft^(W),0 Ft^(W),0 Ft^(W),0

5. DOORS TO

<20 min FR >20 min FR >20 min FR

CORRIDOR D,D+F,0 D,D+F,0 D,D+F ,0,C

Dead End No Dead Ends >30* & Corridor Length Length is

6. CORRIDOR 30'-100' >150 ^ i00'-150' <100^

LENGTHS S S S S

Enclosed with Indicated Fire Resist

7. VERTICAL

OPENINGS

<1 HR

Ft^(W),FD,FD+F

>1

Ft^

HR <2 HR 2 HR

(W),FD,FD+F Ft^(W),FD,FD+F

Single Deficiency No Deficiencies

8. HAZARDOUS

AREAS Ft^(F), FT^(W),FD,FD+F Ft^(F),Ft2(W),FD,FD+F

Smoke Partition Mechanically Assisted Systems

9. SMOKE Fire Zone Corridor

CONTROL Ft2(W),CPF+D # y/

Multiple Routes

10. EMERGENCY w/o Horizontal Horizontal Exit[s] Direct Exit [s

MOVEMENT Exit [s

ROUTES rvuu J.DO # Ft^(W), Ft(P),CPF+D

Manual Fire Alarm

11. MANUAL FIRE w/o F.D. Conn w/F.D. Conn

ALARM y/

Corridor Only Rooms Only Corridor & Habit. Space Total Space

12. AUTOMATIC

DETECTION & ALARM

Ft^(F) Ft^(F) Ft^(F) Ft^(F)

Corridor Corridor & Habit. Space Total Space

13. SPRINKLERS Ft^(F) Ft^(F) Ft^(F)
The first line of input, shown in Exhibit 2.1, gives the following

information: the first feature. Construction, is in the third state;

the second and third features. Interior Finishes, are in the first

state; the fourth feature. Corridor Partition Walls, is in the second

state; the fifth feature. Doors to the Corridor, is in the first state;

the sixth feature. Zone Dimensions, is in the second state; the seventh

feature. Vertical Openings, is in the third state; the eighth and ninth

features. Hazardous Areas and Smoke Control, are in the first state;

the tenth feature. Emergency Movement Routes, is in the third state;

the eleventh feature. Manual Fire Alarm, is in the second state; and

the twelfth and thireenth features. Automatic Smoke Detection and Alarm

and Sprinklers, are in the first state.

The second line of input shows the following information on occupancy

risk: Patient Mobility is in the third state (not mobile); Patient

Density is in the fourth state (>30); Zone Location is in the second

state (2nd or 3rd floor); Ratio of Patients to Attendants is in the

third state (6-10); and Patient Average Age is in the first state.

The third line of input shows the following information: the problem

number is 1; the building age is 2 (existing); the construction code

is 3 (noncombustible); the fire zone is located on the third floor; and

the number of patients is 32. The first entry, problem number, may be

used in case the floor has more than one zone or if the user wished to

change slightly the formulation of the problem to see how the optimal

combination of retrofits might change. The latter could be accomplished

through the use of one of the three user options.

The second entry gives the building age, 1 = New, 2 = Existing. The

third entry gives the construction type, 1 = Wood Frame, 2 = Ordinary,

3 = Noncombustible. The fourth entry, floor of zone, is self-explanatory.

The last entry, number of patients, is included because the charge for no smoke control changes if more than 30 patients are in the zone.

The admissible states for each factor are: (1) Construction, 1-3;

(2) Interior Finish (Corridor and Exit), 1-3; (3) Interior Finish

(Rooms), 1-3; (4) Corridor Partition Walls, 1-4; (5) Doors to the

Corridor, 1-4; (6) Zone Dimensions, 1-5; (7) Vertical Openings, 1-5;

(8) Hazardous Areas, 1-5; (9) Smoke Control, 1-4; (10) Emergency

Movement Routes, 1-5; (11) Manual Fire Alarm, 1-4; (12) Automatic

Detection and Alarm, 1-5; (13) Sprinklers, 1-4.

The admissible states for each (occupancy risk) factor are:

(1) Patient Mobility, 1-4; (2) Patient Density, 1-4; (3) Zone

Location, 1-5; (4) Ratio of Patients to Attendants, 1-5;

(5) Patient Average Age, 1-2.

29
Lines 4 through 16 of the computer input are patterned after the information contained in Table 4 of the Worksheet. They identify the number

of elements which must be treated to move to a higher state. The entries

use the format established in Table 2.1. A sample input is shown in

Exhibit 2.2. In order to explain the input in some detail, a line-by-line

description of Exhibit 2.2 will be given.

Note carefully that the only information which must be input on lines 4

through 16 is the factor ID and the element counts to go to a higher

state for that factor. When inputting the factor ID and element count

information each factor is input on a separate card. (For the eighth

factor, Hazardous Areas, two cards, both numbered 8, may be used.) Consequently either 13 or 14 cards are required to input all of the necessary

information on the potential retrofits. Thus, if the factor is already

in the highest state, the only information required on that card is the

factor ID number. It is important to point out that the first line of

input (i.e., the first card) contains the current state for each factor.

Since the current state dictates the set of potential retrofits for each

factor, care must be exercised to ensure that the information recorded

on cards 4 through 16 is consistent with the information on the first

c.a rd

.

Exhibit 2.2 Sample Input Information on Potential Retrofits

Line Factor

Factor

ID Element Counts

4 Construction 1 5 Interior Finish (C&E) 2 2000, 0, 2000, 0

6 Interior Finish (Rooms) 3 250, 1200, 250, 1200

7 Corridor Partition Walls 4 0, 3, -1, -1

8 Doors to the Corridor 5 0, 0, 34, 0, 34, 0, 0, 0,

34, 0, 0, 34

9 Zone Dimensions 6 -1. 1. -1

10 Vertical Openings 7 0, 0, 3, 0, 0, 3

11 Hazardous Areas 8 -1, -1, -1, -1, 350, 0, 0, 0,

-1, -1, -1, -1. 700, 0, 0,

12 Smoke Control 9 0, 1, -1, -1, -1, -1, -1

13 Emergency Movement 10 0, 8, 1, -1, -1. -1

14 Manual Fire Alarm 11 1 15 Auto Detection & Alarm 12 2000, 6000, 8000, 8700

16 Sprinklers 13 2000, 8000, 8700

An element count entry of "-1" indicates an impossible retrofit.

30
Line 4: Construction; Building Safety Feature ID : 1

The first column of the fourth card contains the single entry 1 indicating that this is the first feature (Construction). The only element

count entry for this feature is a blank space indicating that this feature is already in the highest state and can stay there at zero cost.

Line 5 : Interior Finish (Corridor and Exit); Building Safety Feature ID : 2

The first and second element count entries show that to move to the

next highest state, Class B, 2000 square feet of floor area and 0 square

feet of wall area must be treated. The third and fourth element count

entries show that to move to the highest state, Class A, 2000 square

feet of floor area and 0 square feet of wall area must be treated.

Line 6 : Interior Finish (Rooms); Building Safety Feature ID ; 3

The first and second element count entries show that to move to the next

highest state. Class B, 250 square feet of floor area and 1200 square

feet of wall area must be treated. The third and fourth element count

entries show that to move to the highest state. Class A, 250 square feet

of floor area and 1200 square feet of wall area must be treated.

Line 7 : Corridor Partition Walls; Building Safety Feature ID : 4

The first and second element count entries show that 0 square feet of

corridor partition wall must be installed and 3 openings in the corridor

partition walls require treatment to upgrade to a 1/3 to 1 hour fire

rating (the third state in Table 4 of the Worksheet). The third and

fourth element count entries indicate that going to a fire rating of

more than 1 hour is impossible (the highest state in Table 4 of the

Worksheet )

Line 8 ; Doors to Corridor; Building Safety Feature ID : 5

The first, second, third and fourth element count entries indicate that

going from the "No Door" charge to a fire rating of less than 20 minutes

would require the replacement of no doors and no complete door and frame

systems, but would require that the openings (e.g., ordinary glass lites)

in 34 doors be treated. The fourth element count is a place holder for

automatic closers used only in the highest retrofit state. The fifth,

sixth, seventh and eighth element count entries show that to go to a fire

rating of more than 20 minutes would require 34 doors to be replaced,

no complete door and frame systems to be replaced and no opening to be

1 In every case,

factor ID.

for cards 4 through 16 the first entry will be the

31
treated. Again a 0 is entered for the eighth element count since it is

used as a place holder only. The ninth, tenth, eleventh and twelfth

element count entries show that to go to a fire rating of more than 20

minutes with automatic closers would require 34 doors to be replaced,

no complete door and frame systems to be replaced, no openings to be

treated and 34 closers to be installed.

Line 9 : Zone Dimensions; Building Safety Feature ID : 6

The first element count entry indicates that going to a situation with

no dead ends greater than 30 feet and a corridor length greater than 150

feet is an impossible retrofit. The second element count entry indicates

a potential retrofit, the installation of a stairwell to remove the dead

end (the corridor length remains the same). The third element count

entry indicates an impossible retrofit (no dead ends greater than 30 feet

and a corridor length of less than 100 feet).

Line 10 ; Vertical Openings; Building Safety Feature ID : 7

The first, second and third element count entries show that 0 square

feet of fire proofing, no fire doors, and 3 complete fire door and frame

systems (Class B) are required to upgrade to a fire rating of between 1 and 2 hours. The fourth, fifth and sixth element count entries show

that 0 square feet of fire proofing, no fire doors, and 3 complete fire

door and frame systems (Class A) are required to upgrade to a fire rating

of more than 2 hours.

Line 11 ; Hazardous Areas ; Building Safety Feature ID ; 8

The first, second, third and fourth element count entries indicate an impossible retrofit.^ The fifth, sixth, seventh and eighth element count

^ Note that an entry for doors and frames is included. In this case

all doors can be fitted onto the existing frames. If the present

frames were incompatible with the replacement doors then the first

eight element count entries would be: 0, 0, 34, 0, 0, 34, 0, 0.

If 20 doors could be installed on existing frames, but the remaining

14 would require new frames, then the first eight element count entries

would be: 0, 0, 34, 0, 20, 14, 0, 0.

It 18 important to point out that, unless some a priori retrofit

scenario is hypothesized which makes explicit the cost dependence

among hazardous areas in other fire zones, the costs of treating

deficiencies in other fire zones will be assumed to be independent

of the costs of treating deficiencies within the fire zone. Consequently no explicit cost charge for the treatment of hazardous areas

in other fire zones is entered into the computer program. This

approach implies that hazardous area retrofits in other fire zones are treated as impossible retrofits for the fire zone under

consideration.

32
entries indicate that to move to a single deficiency 350 square feet of

floor area must be sprinklered, 0 square feet of wall area must be fire

proofed, no fire doors are required, and no complete fire door and frame

systems are required. The ninth, tenth, eleventh and twelfth element

count entries show that to remove all deficiencies in hazardous areas

700 square feet of floor area must be sprinklered, 0 square feet of

wall area must be fire proofed, no fire doors are required, and 7 complete

fire door and frame systems are required.

Line 12 : Smoke Control; Building Safety Feature ID : 9

The first and second element count entries indicate that to install a smoke partition requires 0 square feet of wall area to be fire proofed

and 1 (8 foot wide) section of corridor partitioning with fire doors to

be installed. The third, fourth, fifth and sixth element count entries

indicate that both mechanically assisted system retrofits are impossible.

Line 13 : Emergency Movement Routes; Building Safety Feature ID ; 10

The first, second and third element count entries indicate that the

installation of a horizontal exit requires 0 square feet of wall to be

fire proofed, 8 linear feet of corridor paritition to be extended to

the structural slab, and 1 (8 foot wide) section of corridor partitioning

with fire doors to be installed. The fourth, fifth and sixth element count

entries indicate that the installation of direct exits is an impossible

retrofit

.

Line 14 : Manual Fire Alarms; Building Safety Feature ID ; 11

The single element count entry indicates that to move to the highest

state requires the installation of a fire department connection.

Line 15 : Automatic Detection and Alarm; Building Safety Feature ID : 12

Protection of corridors, the first element count entry, requires 2000

square feet of floor area to be treated. Protection of rooms, the second

element count entry, requires 6000 square feet of floor area to be

treated. Protection of corridor and habitable spaces, the third element

count entry, requires 8000 square feet of floor area to be treated.

Total protection, the fourth element count entry, requires 8700 square

feet of floor area to be treated.

Line 16 : Sprinklers; Building Safety Feature ID : 13

The first element count entry, sprinklering the corridor, requires 2000

square feet of floor area to be sprinklered. The second element count

entry, sprinklering the corridor and habitable spaces, requires 8000

square feet of floor area to be sprinklered. The third element count

entry, total sprinklering, requires 8700 square feet of floor area to

be sprinklered.

33
The options available to the user to control or modify the data input

begin with line 17. The admissible control/modification statements

are defined in Table 2.3. Each statement will now be examined.

Table 2.3 User Options: Control and Modification Statements

Control Statement Function

SOLVE Indicates that no further modifications

to the fire zone are desired and to begin

calculation of the family of solutions.

NEXT Read in "lines" 1 through 16 for the

next fire zone (see Exhibits 2.1 and 2.2).

END Terminates run; no more fire zones to

be analyzed.

Modification Statement Function

CHANGE a, S, Y “ “ Building Safety Feature ID number

3 “ State number

Y * Option code

The costs associated with feature a, state 3 are modified

Y < 0 EXCLUDE

Y = 0 INCLUDE

Y > 0 COST

REQUIR , e The value of mandatory safety requirement

3 is increased by ^ percent.

3 = 1 for Sg

^ = 2 for Sjj » 3 for S^

3*4 for R

34
In order to provide the user with the maximum flexibility, it was necessary to require the user to exercise control over the program. Thus all

of the Control/Modification cards (C/M cards) are of the same format.

The user is required to supply a SOLVE card for every fire zone (or varition thereof) for which a solution is desired. The user is also required

to supply a NEXT card when all of the required variants for a particular

fire zone have been solved and solutions for another fire zone are desired. The END card terminates the run.

CHANGE and REQUIR cards are user options only. There is no requirement

that they appear in the run sequence. If used, they must appear (in

any order or combination) prior to an END card. That is to say SOLVE 's and next's may be legitimately interspersed throughout the run sequence.

It is important to point out that the CHANGE and REQUIR cards are defined

in such a way that their effect on the run sequence is cumulative. Thus

the order in which the options appear controls the definition of the fire zone problem solved. Consequently, the user is encouraged to use the

SOLVE card as the first C/M card in the run sequence. This will guarantee

a solution to the original problem.

A sample C/M card sequence is given in Exhibit 2.3 as an illustration.

As a means of reinforcing the functions of the C/M cards defined earlier,

a line-by-line description of the solution generated by the C/M card

sequence given in Exhibit 2.3 will be presented.

Exhibit 2.3 Sample Control/Modification Card Sequence

Control/Modification Card

or Descriptor

Control /Modification

Card Number

Probable

Run Sequence

Card Number

INPUT ON FIRST FIRE ZONE 1-16

SOLVE 1 17

CHANGE 1 3 -1 2 18

CHANGE 4 2 0 3 19

REQUIR 1 10 4 20

CHANGE 6 2 17500 5 21

SOLVE 6 22

CHANGE 9 3 -1 7 23

SOLVE 8 24

REQUIR 1 10 9 25

NEXT 10 26

INPUT ON SECOND FIRE ZONE - 27-42

CHANGE 3 1

• -1 11 43

SOLVE 12 44

SOLVE 13 45

END 14 46

35
C/M Card 1; SOLVE

This card causes the problem defined by run sequence card numbers 1 through 16 to be solved. The solution includes: (1) the least-cost

means of achieving compliance to the Life Safety Code; (2) the cost

of strict compliance to the Life Safety Code; and (3) a set of

alternative means of achieving compliance to the Life Safety Code.

C/M Card 2 : CHANGE 1 3 -1

This card causes state 3 of the first feature (Construction) to be

precluded in the solution. Specifically, it implies that Cj^ (the

cost of feature 1, state 3) is made arbitrarily large.

C/M Card 3; CHANGE 420

.This card

Walls) to

by making

is forced

causes state 2 of the fourth feature (Corridor Partition

be included in the retrofit package. This is accomplished

^41 » ^43 ^44 arbitrarily large. Thus the second state

into the section.

C/M Card 4 : REQUIR 1 10

This card causes the minimum passing score associated with the first

safety redundancy requirement, (Containment), to be increased by

10 percent. This option is useful in those cases where the decision

maker wishes to purchase extra units of safety in a particular category. For example, due to the configuration of the fire zone or for some other a^ priori reason, the decision maker wishes to purchase

higher levels of Containment Safety than provided by the Life Safety

Code. The linear programming package ensures that this is done in

the most least-costly manner.

C/M Card 5: CHANGE 6 2 17500

This card changes the cost of upgrading from the existing state

(specified on run sequence card 3) to state 2 of the sixth feature

(Zone Dimensions) to $17,500.

C/M Card 6 : SOLVE

This card causes the problem defined by run sequence card numbers 1 through 21 to be solved (see Exhibit 2.3).

C/M Card 7 : CHANGE 93-1

This card causes state 3 of the ninth feature (Smoke Control) to be

precluded

36
C/M Card 8: SOLVE

This card causes the problem defined by run sequence card numbers 1 through 21 and modified by run sequence card number 23 to be solved.

C/M Card 9 : REQUIR 1 10

This card causes the minimum passing score associated with the first

safety redundancy requirement, (Containment), to be increased by

10 percent. Since this C/M card was already used (C/M Card 4) any

solution would exceed the Containment Safety requirement by 21 percent. Note, however, that no SOLVE C/M card follows so that no solutions will be generated.

C/M Card 10 : NEXT

.This card clears all options from the program and initiates the

reading in of input for the next fire zone.

C/M Card 11 : CHANGE 3 1 -1

This card causes state 1 of the third feature (Interior Finish:

Rooms) to be precluded.

C/M Card 12 : SOLVE

This card causes the problem defined by run sequence card numbers 27

through 42 and modified by run sequence card number 43 to be solved.

Note that the original problem was not solved since state 1 of

feature 3 was precluded by C/M card 11.

C/M Card 13 : SOLVE

This card generates the same output as C/M card 12. It illustrates

the fact that care must be exercised by the user since legitimate

commands if combined in the wrong way may generate meaningless

output. Note that if the first SOLVE card had preceded the CHANGE 31-1 card, C/M card 13 's output would differ from the output

generated by the first SOLVE card.

C/M Card 14 : END

This card causes the run sequence to terminate.

It is important to reiterate that modifications are cumulative between

fire zone "reads" (NEXT statements). Any number of fire zones is permissible. That is, there is no a priori limit on the number of NEXT

cards. (Computer system limits such as page counts or CPU time, however,

will limit the number of problems which can be solved.) Furthermore,

there is no limit on the number of modifications to a fire zone as long

37
as the problem remains feasible. If a particular modification is not

feasible, nothing catastrophic occurs; some computer time, but not a great deal, is used. As pointed out in the sample run sequence, the

problem defined by the fire zone input (run sequence lines 1 through 16

and 27 through 42 in Exhibit 2.3) does not have to be solved. Unless

the user has a good reason, the basic problem should be solved prior

to any modification of the data input.

The set of solutions for a modified problem is the same as that for an unmodified problem except that those states which have been "forced in"

(CHANGE i j 0; denoted as an "F" type change on the computer output)

are not allowed to leave the basis.

2.4.2 The Output Format and Its Interpretation

The output format for each problem solved begins with a printback of

Table 1 and Table 4. This printback is intended as a check so that the

user can verify that the problem actually solved corresponds to the one intended. After the printback, information on the least cost and prescriptive solutions is given. This information identifies each of the

13 factors, the state number, the retrofit cost, the score, and one or more solution ID's. Five solution ID's are possible:

(1) S indicating that the state is in the optimal solution;

(2) I indicating that the state is the one input;

(3) P indicating that the state is in the prescriptive solution;

(4) F indicating that the user modification which forces a state

into the solution has been performed; and

(5) C indicating that a cost change modification has been performed.

The information shown in Exhibits 2.1 and 2.2 and C/M card 1 in Exhibit 2.3

will generate the output given in Exhibit 2.4.^ Notice that under feature

9, smoke control, an entry is marked by an asterisk. This is to indicate

that the installation of a horizontal exit under feature 10 allows a smoke

partition to be claimed at no cost under feature 9.^

As was mentioned earlier, the continuous solution to the optimization

problem may contain noninteger variables. However, given the "near

integer" property of the solutions, this problem is easily handled.

Consequently, the output shown in Exhibit 2.4 is not the output as it comes from the computer directly. It represents the result of a postoptimization integerization procedure which is presently done manually.

As indicated in Section 2.3, in production work the user will receive

an output like that presented in Exhibit 2.4.

2 The logic required to treat this interdependency is currently not in

the computer program. Should a horizontal exit be installed, however,

in the least-cost retrofit package, the user can claim two additional

points in People Movement Safety and General Safety.

38
i Exhibit 2.4 Sample Output Format for Optimal and Prescriptive Solutions

FACTOR TABLE 4 COST SCORE TOTAL COST 20400

1. CONSTRUCTION 3 0 4 SIP SA = 13 SURPLUS = SA = 5 SURPLUS =

2. INTERIOR FINISH 1 0 -5 I SC = 5 SURPLUS = CORRIDOR & EXIT 2 800 0 P SG = 13 SURPLUS =

3 800 3 S

3. INTERIOR FINISH 1 0 -3 I PRESCRIPTIVE 38000

ROOMS 2 600 1 P

3 600 3 S SA = 8 SURPLUS = SB = 5 SURPLUS =

4. CORRIDOR PARTITION WALLS 2 0 0 SIP SC = 3 SURPLUS = SG = 9 SURPLUS “

5. DOORS TO CORRIDOR 1 0 -10 I

2 3000 0 S 3 9000 1 P

6. ZONE DIMENSIONS 2 0 -4 SI

4 15000 0 P

7. VERTICAL OPENINGS 3 0 0 I 4 3750 2 P

5 3900 3 S

8. HAZARDOUS AREAS 1 0 -11 l’ 5 7450 0 SP

9. SMOKE CONTROL 1 0 -2 I 2 1400 0 p

2* 0 0 s

10. EMERGENCY MOVEMENT 3 0 0 IP

ROUTES 4 4650 3 s

11. MANUAL FIRE ALARM 2 0 1 SIP

12. SMOKE DETECTION 1 0 0 SIP

AND ALARM

13. SPRINKLERS 1 0 0 SIP

39
The output format is designed to parallel Table 4 of the Worksheet. All

entries marked with a 0 correspond to the initial state of that feature.

These entries are marked with an I in Exhibit 2.4. All entries marked with

an s and a number other than 0, except for the smoke partition marked as

0*, are the retrofits included in the optimal solution. All entries marked

with a p and a number other than 0 are the retrofits included in the prescriptive solution. Counting from left to right in Table 4 (Exhibit 1.2)

gives the state number in each case. This number is entered under the column

labeled TABLE 4 in Exhibit 2.4. The cost figures associated with each

possibility (1=0 and S, P ^ 0) are then recorded in the column labeled

COST in Exhibit 2.4. The cost figure which appears beside the state number

is the total retrofit cost. It is based on the information stored in the

element count and element cost matrices. The figure entered under the column

SCORE in Exhibit 2.4 is taken directly from Table 4 of the Worksheet (see

Exhibit 1.2). Note also that in the upper right hand corner of the output

is printed out a cost summary statement. In this case the cost of equivalence

is $20400 whereas the cost of strict compliance is $38000. The use of the

equivalency methodology thus results in a cost reduction of almost 50

percent for this fire zone. Immediately below the cost summary are the scores for each of the four safety categories. Surplus scores are given

to the right of each category.

The output format and its interpretation for each of the alternative

solutions is exactly the same. The parameter or factor being forced

into or out of the solution set is marked with an asterisk, *, to the

left of the solution ID's (S, I, P, F, or C).

For modified fire zones (those for which at least one CHANGE or REQUIR

modification has been performed) the solution ID will contain a C (in

addition to S, I, P and *) if the cost has been changed by the user to

reflect local market conditions (i.e., a better cost estimate) or the

option has been forced out (i.e., Y < 0 in Table 2.3) by an arbitrarily

high cost. If the state has been forced in (i.e., y = 0 in Table 2.3)

an F will appear in the printout. The alternative solutions, whether

for "input" or modified fire zones, are the same as the original solutions except that a P no longer appears in the solution ID and the sub

tableau, labeled PRESCRIPTIVE in Exhibit 2.4, which shows the prescriptive cost and requirement surpluses (if any) will not appear.

3. SUMMARY

The identification of cost-effective levels of fire safety in health care facilities is a major concern to hospital administrators, fire safety

engineers and public policy makers. Rising construction and operating

costs coupled with more stringent building codes and continuing advances

in medical and building technology have complicated the issue, forcing

health care facility administrators to carefully assess the alternative

means through which they can design, construct or update their facilities. The Life Safety Code developed by the National Fire Protection

Association (NFPA) is currently the most widely used guide for identifying

the minimum level of fire safety in health care facilities. Although the

40
Life Safety Code may be thought of as a prescriptive code since it pre-^

scribes fixed solutions for life safety, performance concepts can be

explicitly introduced through a provision which allows for equivalent

solutions. In light of this provision, the National Bureau of Standards'

Center for Fire Research through support from the Department of Health,

Education and Welfare has developed a system, the Fire Safety Evaluation

System, for determining how combinations of several widely accepted fire

safety systems could be used to provide a level of safety equivalent

to that required in the 1973 Life Safety Code.

This report has provided a programmer-oriented description of the mathematical, economic, and engineering considerations that went into the

development of a computerized version of the Fire Safety Evaluation

System which permits the least cost means of achieving compliance to

the Life Safety Code to be identified. It was shown that each of the

parameters used in the Fire Safety Evalution System had a unique value

which corresponded to strict compliance to the Life Safety Code. Consequently, it was possible to quantify the cost savings attributable

to a performance-based Fire Safety Evaluation System approach over that

of strict compliance.

In the discussion of data requirements, it was also shown that the com- puter program uses as its primary input information collected as an integral part of a thorough fire safety evaluation. This information

permits the current state of the health care facility to be unambiguously

identified. Based on (1) the current state of the health care facility,

(2) the minimum passing "score" needed to achieve compliance, and (3) the

anticipated costs of each retrofit measure, the least cost or optimal

combination of retrofits is identified. The computer program then analyzes other retrofit combinations to see if alternatives might exist

which are close to the one identified as optimal. The optimal combination of retrofits and any alternative which the program produces, usually

between 10 and 20, are then summarized in tabular form and ranked from

least costly to most costly. By using this approach, health care facility

decision makers have greater flexibility in choosing among retrofit combinations. In particular, by providing alternatives, the decision maker

has the opportunity to assess the impact that non-construction costs would

have on the choice of the optimal retrofit combination.

41
APPENDIX A

Unit Pricing Information

The unit pricing information presented in this section is based on anticipated costs in the Washington, D.C. area for the last Quarter of 1978.

These figures are used as a resident element cost matrix for the computerized procedure discussed earlier in the report. They can be used to

identify the least cost combination of the retrofits for a single zone

as well as the costs of strict compliance and any alternative retrofit

strategies. It is important to point out that the unit prices presented

in this section are adequate only for the purpose of budget planning

prior to the request for construction design. The actual cost estimates

for a particular retrofit strategy will have to be made following the

completion of the retrofit specification, design and material selection,

and the establishment of the retrofit date. Most of the unit pricing

information presented in this section was either obtained from the Central

Office of the Veteran's Administration or the Building Construction Cost

Data 1978 booklet published by the Robert Snow Means Company, Inc. The

unit prices are IN-PLACE PRICES which include: demolition, waste removal,

building materials, labor, installation and finishing, refinishing of

adjacent areas and a markup for contractor overhead and profit. Similar

unit pricing information can also be developed by local estimators for

various retrofit strategies at specific locations. This information can

be used to redefine the element cost matrix. The unit pricing information used in the computer program is given as follows:

Coat with Fire-Retardant Paint

Fireproof with Intumescent Mastic

1/8" thick, 3/4 hour

3/16" thick, 1 hour

7/16" thick, 2 hour

Fireproof Existing Wood Panel

Replace Carpeting

Install Drywall Including Painting

1/2" thick

5/8" thick

$0.40 Per Square Foot; (PSF)

$1.30 PSF

$2.70 PSF

$3.90 PSF

$0.50 PSF

$1.60 PSF

$0.75 PSF

$0.80 PSF

Replace Door to Achieve 20 Minute or More Fire Resistance

4'x7' door and hardware

4'x7' door, frame and hardware

7'x7' door, frame and hardware

Add automatic closing device

$ 300 each

$ 700 each

$1100 each

$ 60 each

42
Replace Door to Achieve Class B & C

Fire Rating

4'x7' door and hardware $ 450 each

4'x7' door, frame and hardware $1 ,250 each

7'x7' door and hardware $ 800 each

7'x7' door, frame and hardware $1 ,650 each

Replace Door to Achieve Class A

Fire Rating

4'x7' door and hardware $ 500 each

4'x7' door, frame and hardware $1 ,300 each

7'x7' door and hardware $ 900 each

7'x7' door, frame and hardware ,750 each

Replace Ordinary Glass Light With

Wire 1Glass Light $ 40 each

Replace Defective Latch $ 60 each

Replace Window Frames in Corridor $ 400 each

Partition Walls (1000 square

inches

)

Add Corridor Partitioning (8' wide)

With Fire Door

Class B and C Rating

Class A Rating

$3,800 each

$3,900 each

Provide Partition Extension

(average 3' high) From Existing

Partition to Structural Slab

Above $ 30 Per Linear Foot; (PLF)

Install Coded Manual Fire Alarm Station $ 140 each

Connect Existing Manual Fire Alarm

Stations to Fire Department $1,000 Per Fire Zone

Install Detectors, Photoelectric

and Ionization $

Install Magnetic Door Release Each Leaf $

2.25 PSF

425 each

Install Sprinklers in Nonhazardous

Areas

Install Sprinklers in Hazardous Areas

$ 2.00 PSF

$ 2.25 PSF

43
Add a Fire Alarm to the Sprinkler

Install Halon Head for Mechanical

and Electrical Areas

Add External Stairwell for Exit

$ 225 each

$ 8,000 each

$15,000 Per Floor

44
APPENDIX B

Documentation of Computer Algorithm/Program

This Appendix gives a programmer-oriented description of the computer

software package. Algorithmic and functional descriptions are contained

in the body of this appendix as are the user requirements and options.

The appendix consists of four sections:

1) Functional descriptions of each subroutine and major functional

block of the main program;

2) Definitions of each of the variables;

3) Definitions of input; and

•4) Descriptions of each report produced.

B. 1 Program Functional Description

A brief description of the function of each of the subroutines is given

in this section. In addition, the calling sequence, the reports produced, and the program from which it is called are also given. Since

many of the scalars in the calling sequence are array dimensions, a statement containing each multi-dimensional array is given as well.

For the main program, a similar description is given by main functional

blocks. The relevant variables are defined and the subroutines called

within each block are identified. All variables except the Hollerith

ones conform to the FORTRAN real-integer name convention.

Subroutine MOTEST : Modification TEST :

Calling Sequence : (HFORCE, II, 12, 14)

11 is the simplex variable corresponding to the first state

(Table 4) of row I, where I is implied by the value of II.

12 is the simplex variable corresponding to the last state

(Table 4) of row I.

14 is subroutine output.

MOTEST is called from MAIN in each of the Alternate Solution Blocks.

If the variation of the cost row dictated by the alternate solution

logic is not compatible with user modifications, 14 is 0; otherwise

14 is 1.

Subroutine PRSOL: PRint SOLution:

Calling Sequence : (IPROB, lALT, C, Z, HFORCE, IST4, Nl, N2, IT4X, X,

IT4S, N3, HPAR, N4, N5, N6)

45
DIMENSION: IST4 (Nl, N2), IT4S (N3, N2), HPAR (N4, N5), A (N4, N6)

PRSOL is called from MAIN, once from the Bounding Solution Block and once from each of the Alternate Solution Blocks. It, with repeated calls to

RHTAB, prints a Solution Report if the solution is valid. If the solution

is not valid (i.e., non-feasible , contains an illegal state, etc.), it

prints a self-explaining error report and sets lALT to its negative.

Subroutine RHTAB : ^ight Iland TAB les : Calling Sequence : (K, X)

RHTAB is called only from PRSOL. K is a variable set to 0 upon entry to

PRSOL. It prints the cost-requirement surplus tableaus of the solution

report. K is a line-space count advanced in the subroutine.

Subroutine PRSMX : PRint ^i^lpleJC

Calling Sequence : (A, lA, IB, HPAR, IC, IST4, ID, IE, lALT)

DIMENSION : A (lA, IB), HPAR (lA, IC), IST$ (ID, IE)

PRSMX prints the Simplex Matrix Report. It is called from MAIN just

prior to the call to RVSMPX which produces the bounding solution. If

lALT is zero or one, the multi-page report is printed. For any other

value of lALT, the one page version is printed.

Subroutine FEASIB : FEASIB ility Test

Calling Sequence : (A, II, 12, X, L, X2)

DIMENSION : A(I2, II)

FEASIB is called from MAIN immediately after each RVSMPX call. RVSMPX

returns in L(3) an indicator of an abnormal solution. However, since

RVSMPX cannot recognize an illegal variable (i.e., one which has an arbitrarily high cost), FEASIB checks the solution for any such variable and returns L(3) = 2 if one is encountered.

Subroutine RVSMPX : Ele_Vi8ed SiMPleX

Calling Sequence : (A, MA, B, MB, MT, NT, L, X, TOLP, INV, K9P)

DIMENSION : A(MA, NT), B(MB, MB)

The description of the RVSMPX routine given in this section is application

oriented. For those readers wishing a complete documentation of the RVSMPX

routine, the report by Hall, etal .

,

is highly recommended.^ Several

^ W. G. Hall, R. H. F. Jackson, P. B. Saunders, The National Bureau

of Standards Linear and Quadratic Programming Subroutines , National

Bureau of Standards Report 10695, February 1972.

46
of the variables in the calling sequence are fixed in this problem. The

vector L is used internally for several purposes but for this discussion

L(l) through L(14) are the only relevant entries. Upon input, L(l) is

the number of less than or equal to constraints of A (Zero), L(2) is

the number of greater than or equal to constraints of A (Zero), and L(3)

through L(14) are print switches. For this application, L(5) and L(14)

are equal to one; the remaining elements are zero. This combination of

switch settings suppresses all internal prints except warning and error messages

.

Upon output L(l) through L(3) only will be changed. L(l) is of no interest; L(2) is the iteration count; and L(3) indicates the cause

of termination:

0 ->• optimal solution obtained

.1 -> optimal solution obtained but numerical difficulties

encountered

2 -* non-feasible problem

3 - unbounded problem

4 ->• system error.

X(81) upon exit contains the negative of the minimum cost solution.

INV is the last of the variables of interest to the user. If INV is zero,

the computation will start from scratch; otherwise, the vector X is used

as a starting solution. In the program, INV is zero for the bounding

solution call and one for all other calls.

MAIN - Initialization Block

This block performs system initialization; it includes the first executable statement through statement number 70. It produces the System

Status Report and constructs that portion of the A matrix which is Fire

Zone independent. The Fire Zone independent portion of A consists of

the 13 state constraints corresponding to the building safety factors

of Table 4 and, except for the right hand side, the mandatory safety

requirement constraints corresponding to Table 5.

MAIN - Fire Zone Input Block

This block performs the Fire Zone initialization. It contains statements

100 through 170. Statement 100 is the reentry point when a NEXT is

encountered. The functions comprising the initialization are:

Fire Zone Input

Modification of A to accommodate row interdependencies

47
Modification of A to accommodate alternate fire safety level values

Incorporation of mandatory safety requirements into A

State change cost calculations and their incorporation into A

Calculation of prescriptive cost

Calculation of "arbitrarily high" costs

Printing of Fire Zone Report

The Fire Zone Input and Printing functions are dispersed throughout the

block; the sequence is essentially either read-print or read-calculateprint for each line of the report. Other functions performed are isolated within the block.

The default row column interdependencies are incorporated into A in the

section from statement 902 through statement 903. It is assumed at

this time that the interdependencies defined by Table 4 footnotes *,

**, and . . . will not occur; thus constraints 14, 15, and 16 are each

set to a dummy variable which equals 1.

The Table 1 indices are read (and defaulted to highest risk state if

necessary), R is calculated, a prototype solution ID is constructed,

the problem-age input is read and the report print initiated in the

next section. Statements run from 900 to 973.

The next section, up to statement 152, modifies the fire safety level

values (rows 17-20) of the A matrix according to the Table 4 footnotes

***, ., and .. . Then to statement 154 is a section which incorporates

into A the interdependency defined by *, if required by the input. The

section from 154 to 972 computes F according to the building age, selects

the appropriate entries for both row 1 of Table 4 and the mandatory

safety requirements and incorporates them into A.

The section from 972 through 110 modifies the solution ID's (HFORCE) by

appending "Input" and "Prescriptive" characters; then proceeds, by

building safety factor, to read the element cost vectors, calculate the

state transition costs, and print the Fire Zone Input Report.

The section through 170 then calculates XI and X2, the two "arbitrarily

high" costs used. XI is twenty times and X2 is nineteen times the

largest legitimate state transition cost. XI goes into C where required,

C is incorporated into A, and L and Z are constructed as subsequently

required by subroutines.

MAIN - Control and Modification Block

This block performs the control card reads. For CHANGE and REQUIR cards,

there are internal loops for updating C, A, and HFORCE as required.

48
There are multiple exits from this block depending upon the control card

which causes the exit. Exit may be to termination (END), to the Fire

Zone Input Block (NEXT), or to the Bounding Solution Block (SOLVE). The

statement numbers are 300 to 370.

MAIN - Bounding Solution Block

This block calls PRSMX, RVSMPX, FEASIB, and PRSOL for the bounding solution. It also transfers the bounding solution into Y so that the alternative solutions can be calculated from an existing basis. The normal

exit is to the First Alternate Class Block, but there is an error exit

(non-feasible, unbounded, etc.) to the Fire Zone Input Block since a no solution case for the bounding problem implies a no solution case for all

alternates. This block begins at statement 370 and includes all statements through the fourth (unnumbered) statement past 178.

MAIN - First Alternate Class Block

This block follows the Bounding Solution Block and extends through statement 230. It generates the class of solutions obtained by precluding,

in turn, any retrofit for each of the Table 4 building safety factors.

It calls MOTEST, RVSMPX, FEASIB, and PRSOL. It always exits to the

Second Alternate Class block.

MAIN - Second Alternate Class Block

This block follows statement 230 and extends through 270. It generates

the second class of alternate solutions by switching the variables, in

turn, of the bounding solution. That is, if a variable is in/out the

bounding solution an alternate is produced with the variable forced

out/in. It calls MOTEST, RVSMPX, FEASIB, and PRSOL. It always exits

to the Restore Solution ID Block.

MAIN - Restore Solution ID Block

This block begins at 280 and continues to the end of the program. Its

function is to transfer Y into X and restore the solution ID for reentry. It always exits to the Control-Modification Read Block.

B.2 Variable Definition

Scalars

IPROB

NAGE

NCON

IFL

IPA

XI

X2:

lALT:

Problem number (input)

Building age code (input)

Construction type code (input)

Floor of fire zone (input)

Number of patients in zone (input)

The arbitrarily high cost used to preclude state changes.

It is calculated in the Fire Zone Input Block as 20 times

the largest legitimate state transition cost.

.95 X XI. X2 is used as a comparand in checking that no arbitrarily high costs appear in the objective function.

The alternate problem identification

49
Arrays

A(21,61): The Simplex matrix-dimensions as required by RVSMPX.

Rows 1-13 contain the Building Safety Feature constraints; rows 14-16, the interdependency constraints;

rows 17-20, the mandatory requirements, and row 21,

the objective function. The matrix is initially constructed from G via the structure of Table 4 in the

System Initialization Block. Costs (row 21), alternate values (rows 17-20), interdependency constraints

(rows 14-16), and the proper row 1 are inserted in

the Fire Zone Input Block. Costs are modified by

CHANGE inputs; the right hand side of the mandatory

requirement constraints are modified by REQUIR inputs.

B(23,23): This matrix is required by RVSMPX. Its content is not

relevant for the user.

X(150): This vector is required by RVSMPX. It contains the

basic solution; upon exit from RVSMPX, the first

sixty elements hold the variables. A positive element

implies the variable is basic; a negative, that it is

non-basic; X(81) contains the negative of the minimum

cost. Upon input to RVSMPX, if the advance start

option is used, X contains a feasible basis. Elements

of X with an index higher than 81 are used to store

the prescriptive cost and surpluses for PRSOE and

RHTAB.

Y(150): This vector is used to store the bounding value

solution. It is used to restore X after each alternate solution so that the advance start option may

be used.

L(153): This vector is required by RVSMPX. Only the first

fourteen elements are of interest to the user. Upon

input to RVSMPX, these are all zero except L(5) and

L(14), which are each 1; they are used to control

warning and error prints internal in RVSMPX. Upon

exit, L(l) through L(3) may be non-zero, but only

L(3) is important. It contains an indicator as to

whether RVSMPX exited with an optimum solution, an unbounded solution, a non-feasible solution, a numerically poor solution or because of a system

error.

Tl(5,5): This matrix is comprised of the Risk Factor Values

of Table 1. It is generated via a DATA statement.

50
T6(3,2,2):

IT4X(13):

HFORCE(53):

G(13,5):

HPAR(21,5):

H0UT(6):

This array contains the Mandatory Safety Requirements

of Table 6. The first subscript identifies S^, S^,

and ; the second, age NEW or EXIST; the third, the

floor. It is generated via a DATA statement.

This vector contains the current state indices for each

PARAMETER of Table 4. It is read in the Fire Zone Input

Block; it may be modified via CHANGE cards.

This is a Hollerith vector; it contains the solution

ID, as it appears in the solution prints, for each of

of the state variables. It is assembled character by

character in various blocks of the program as follows:

All blanks initially in System Initialization

I&P appended in Fire Zone Input Block

C&F appended in Control Modification Block

* appended in the Alternate Solution Blocks

S appended in PRSOL

Blanks are partially restored within each of the

Alternate Solution blocks and in the Restore Block

It is not used in any calculations but for printing

only.

This is the Safety Value matrix of Table 4. It is

created via a DATA statement and never changed. Values

for row one and those values for which there are alternates dependent upon fire zone are irrelevant. Necessary modification is done on A instead.

This is a Hollerith matrix created via a DATA statement

and never changed. Each row contains a five word (30

character) name for the corresponding row of A. It is

printed in totality in the Simplex Matrix Report and

in part in the System Initialization Report and the

Solution Reports.

This is a Hollerith vector which is the problem name

of six words (36 characters). It is read in the Fire

Zone Input Block and used only for printing. It

appears in the Fire Zone Report and all Solution

Reports

.

51
C(53): This vector contains the state transition costs for . each of the fifty-three Simplex variables. It is

constructed in the Fire Zone input block, modified

in the Control-Modification block, and printed in

PRSOL.

IT4S(13,2): This is the Table 4 to A linkage matrix. It is

created via a DATA sta.tement and used throughout

the program. The rows correspond to the rows of

Table 4; column 1 contains the index, within the

A matrix variables corresponding to the first

state within the row. Column 2 contains the A

index for the last state (excluding the contrived

ones) within the row.

IST4 (60,2): This is the A matrix to Table 4 linkage matrix. It is

created via a DATA statement. The rows correspond to

the variable indices of A; columns 1 and 2 contain the row and column, respectively of Table 4 corresponding

to the variable.

JPR(13)

This vector contains the indices of the prescriptive

states for each of the rows of Table 4. It is created

via a DATA statement.

T4A(4,3,3): This is a safety value array corresponding to row 1 of Table 4. It is created via a data statement. The

first dimension corresponds to FLOOR; the second, to

construction type (WOOD FRAME, ORDINARY, or NONCOMBUSTIBLE); the third, to states.

IT1X(5): This is the current state vector for Table 1. It is

read in the Fire Zone input block. An illegal state

index (i.e., less than 1 or greater than the maximum

permissible) is defaulted to the index with the

highest risk. It is used to calculate R and is

printed in the Fire Zone Report.

IT1M(5): This vector contains the maximum length for each of

the rows of Table 1. It is created via a DATA statement .

HT1(5,5): This matrix is Hollerith; it contains the Table 1 line headings for the System Status Report. It is

created via a DATA statement.

IQC6.6): This is a temporary matrix into which the element

cost vectors are read in the Fire Zone Input block.

It is not used in any other part of the program.

52
LV(13): This vector contains the length of the element cost

vector for each row of Table 4. It is created via

a DATA statement.

AGE(2): This is a Hollerith vector containing NEW and EXIST.

It is constructed via a DATA statement and is used

in printing the Fire Zone Input report.

C0N(3): This is a Hollerith vector corresponding to the three

construction types of row 1 of Table 4. It contains

UNPROT, PROT, and FRSNT. It is created via a DATA

statement

.

Z(150): This vector holds the safety values of Table 4 corresponding to the A matrix indices of the corresponding

states

.

CS(13,5,5): This is the unit cost array. The first two dimensions

correspond to the rows and columns of Table 4. The

third dimension corresponds to the indices of the

element cost vector.

B. 3 Definitions of Data Inputs

There are two classes of input required: the first is that which defines

the fire zone status; the second, that which allows user control of the

problem variants to be solved. The description of the input is FORTRAN

oriented. The input medium is assumed to be an 80 column card. Each

card is given a name suggestive of the data contained therein and is

defined by the FORTRAN format and the pertinent portion of the READ

statement.

Fire Zone Input

Card 1 : Building Safety Factor Indices Card

(1313, 6A6), [(IT4X(I), 1=1, 13), (HOUT(I), 1=1, 6)]

The first thirteen fields are the indices of the current states of the

Building Safety Factor values of Table 4. For factor 1, CONSTRUCTION,

this is the index within FLOOR and COMBUSTIBLE-WOOD FRAME, COMBUSTIBLEORDINARY, and NON-COMBUSTIBLE. The next six fields may be considered as thirty-six characters of free form text. They are used only as an identification printed in several of the reports.

Card 2 : Occupancy Risk Parameter Factors Card

(5113), [(ITIX(I), 1=1, 5)]

These fields are the indices of the current states of the Occupancy Risk

Parameter Factors of Table 1.

53
Card 3: Problem - Floor Card

(513), [IPROB, NAGE, NCON, IFL, IPA]

IPROB is problem number, an identification field

NAGE is the building age:

1 * New

2 Existing

NCON is the construction type:

1

-* Combustible-Wood Frame

2

-* Combustible - Ordinary

3 Non-Combustible

IFL is the floor

IPA is the number of patients.

Cards 4-16 : Safety Parameter Input Values

(13, 1216), [J,IQ (J1,J2), J2=l, Kl, J1=J3, J4)]

One or more of these cards appear for each of the rows of Table 4. J is

the row index. The array IQ (6x6) is used for temporary storage of the

element cost vector pending calculation of the state transition cost;

the rows correspond to the possible states of the Jth row; the columns

contain the element cost vectors. Prior to the read operation, all

elements are set to -1, denoting an impossible or precluded retrofit.

J3 is the index of the current state +1; J4 is the maximum index within

the row; if J3 is greater than J4, the fields except for J are irrelevant.

Kl is the length of the element cost vector. For J equal to 8, two cards

may appear since the length of the element cost vector times the number

of states may exceed the twelve fields allowed by the format. The trailer

card is in exactly the same format with J repeated followed by the remaining cost element vectors. By Table 4 row, the cost element vector lengths

are

Row 1 2 3 4 5 6 7 8 9 10 11 12 13

Length 1 2 2 2 4 1 3 4 3 3 1 1 2

54
Control-Modification Card Input

(A6, 213,17) [1,11, 12, 14]

These cards allow the user to modify the definition of the preceding fire

zone and to control the variants of the problem to be solved. Each of

these and its function are defined. A 4 denotes a blank space.

S0LVE4 - other fields irrelevant. This card indicates that the fire zone currently resident is to be solved. That is, the complete family of

retrofit solutions is to be obtained.

NEXTAA - other fields irrelevant. This card indicates that the next fire

zone is to be read. No further variants of the currently resident zone are desired.

ENDAAA - other fields irrelevant. This card indicates the end of the

batch run.

CHANGE a B Y This card indicates that a cost change is to be performed

on the resident fire zone. The field “ is the index of the row (Building

Safety Factor) of Table 4 to be changed; B, the index of the column

(state). The change to be made is dependent upon Y as follows:

Y 0 the cost is made arbitrarily high. The indicated state is

not to be considered.

Y = 0 all costs in row a, except B, are made arbitrarily high.

The indicated state is required to be in every solution and

becomes the input state.

Y > 0 Y becomes the cost for row a, column B.

REQUIR a B - remaining fields irrelevant. The mandatory safety requirement denoted by a, where cx = 1

"* S^, a = 2 a =3 S^, and a =4 R,

is changed by the percentage B. For example, if a = 1. A new is

Si calculated as = (1 + ^ ) x

a tm 3

B.4 Description of Reports Produced

The output is described in terms of the content (and interpretation) of

the reports generated and the rules which determine the number and ordering of reports. Each report is a single page except where otherwise

noted

.

55
System Status Report

The first report is the System Status Report. It is produced only once

for each batch of fire zones. It is a single page and is comprised of

facsimiles of Tables 1, 6, and 4 as the tables have been constructed via

DATA statements.

Fire Zone Input Report

The Fire Zone Input Report appears for each zone read. It is produced

prior to the solution of the optimization problem and consists of a cos- metically enhanced version of the fire zone input, augmented by the

mandatory requirements and the retrofit costs for all possible changes.

The first line contains the fire zone identification and Table 1 indices

as they appeared on the input except defaulted to highest risk if input

was illegal. The second line corresponds to input card 3 with the age

of building and construction numeric codes replaced by text and the

remaining numeric fields identified by name. The third line contains

the mandatory safety requirements.

The tabular portion of the report contains, for each fire safety factor

and under appropriate column headings, the input state index, the prescriptive state index, the element cost vector, (as input or a default

value) and the cost (computed or a default value) associated with a transition from the current state to the indicated state. The default

rules are: for the existing state, both the element cost vector and

the cost are defaulted to zero; for all states with lesser values (lower

index) than the current state and all states precluded via a negative

element cost vectors are defaulted to arbitrarily large numbers which

appear on the report as fields of asterisks(*)

.

The remainder of the report consists of a simplified version of the

modification cards (if any) encountered before a SOLVE card initiates

a print of the SOLVE line and the calculation of the family of optimum

solutions

.

For a CHANGE card the line printed is CHANGE Row a Column 3 Index y

cost 6j, . . • where a and 3 are the row and column, respectively,

modified by the CHANGE card, y is the input state index and 6]^ through

are the negatives of the costs associated with the modified row.

For a REQUIR card, the line printed is the index of the requirement

which was changed, the percentage by which it was changed and the new requirement

.

Simplex Matrix Report

Following each SOLVE line (whether in a Fire Zone Input Report or a Modified Problem Report) is a Simplex Matrix Report. For the first

56
solution of the fire zone, this is a multi-page report containing the

matrix used by the optimization algorithm. The row headings indicate

the source of the equation (1-13 from Table 4 rows, 14-16 from the

footnoted interdependencies, 17-20 from the mandatory requirements,

and 21 the objective function), and the column headings indicate the

variable index correspondence between the optimization matrix column

and the row-column of Table 4. For modifications of the fire zone,

this report is condensed into a single page report which contains only

the last five rows of the optimization matrix. The condensed version

contains all elements of the matrix subject to modification via the

CHANGE and REQUIR cards.

Modified Problem Report

The Modified Problem Report is produced for each set of CHANGE and/or

REQUIR cards following a SOLVE. That is, for every modified fire zone,

the report is produced, unless the problem as input is not solved.^

It consists of a one line print of MODIFIED PROBLEM a, where a is the

problem identification number, followed by the simplified version

of the pertinent CHANGE and REQUIR cards exactly as in the Fire Zone

Input Report and followed by a SOLVE.

Solution Reports

Following each SOLVE line, regardless of the report in which it appears,

is the Bounding Solution Report. Following this report are two sets of

Alternate Solution Reports. All three solution reports are nearly identical; thus the descriptions will be combined with the differences noted.

The first line of each report contains the problem number, problem name,

and an ALTERNATE index which is interpreted as follows:

0 Bounding Solution- Input

1 Bounding Solution Modified

lOotB first set of alternates; aB as a two digit number is the

index of the row of Table 4 which is varied.

2a&Y Second set of alternates; oiB is the row; y is the column

of the cost varied.

The five line tableau(s) which may appear on the right hand side con- tain(s) information as follows:

1 In this case, the report (minus the first

a coda to the fire zone input report.

line) actually appears as

57
TOTAL COST appears for every solution. It gives the total cost

for the solution and indicates the surplus over each of the

mandatory safety requirements attained by the solution.

PRESCRIPTIVE appears only for the Bounding Solution Report. The

first line gives the cost of the prescriptive retrofits.

Asterisks (*) indicate that one or more of the prescriptive

indices is precluded. The remaining lines show the surplus,

if any, over each of the requirements. Surpluses can only

appear in the General Safety Requirement for the prescriptive

solution.

The left hand portion of the report parallels Table 4. For each of the • rows, the states appearing on input or in the solution generates a print

line. For the Bounding Solution Report, the prescriptive solution generates a print line; for the modified problems, the state corresponding

to a cost modification generates a print line; and for the alternates,

each cost changed generates a print line. Each of the lines is identical

in format except for the row heading on the first line printed from each

row. Under the heading VARIABLE are the index (within the optimization

njatrix) and the value of the variable in the solution. Under the heading TABLE 4 is the column index of the state. Under COST is the total

transition cost (from input to the indicated state). Asterisks (*)

indicate a precluded state (i.e., an arbitrarily high cost). The GRADE

is the Table 4 safety value associated with the state. The remaining

information on the line shows the reason the line was included in the

print. It will always consist of some combination of S, I, P, *, F, or C. These terms are defined as:

S -* state is in solution

I - input state

P - prescriptive state

* cost modified by alternate logic

F state forced into solution via a CHANGE

C -*• state precluded by a CHANGE or cost input by a CHANGE

There are two classes of alternate solutions produced. They were selected to mitigate the impact of non-integer solutions and to give the user an automatic set of alternatives, thus enabling him to accommodate

externalities, as well as answer some "what if" questions expected to be common to many users.

The first class of alternates precludes any retrofit within a row of

Table 4 considering the rows in turn and one at a time. The number of

solutions in this class will always be thirteen minus the number of rows for which no retrofit is allowed. However, one or more of these

58
may duplicate the bounding solution; this will occur for every row for

which the bounding solution contained the existing state.

The second class of solutions is obtained by changing, in turn, the cost

associated with each of the fifty-three variables. If the variable is

in the bounding solution, its cost is adjusted so that it is precluded

from an alternate solution. If the variable is not in the original

solution; the costs of the other variables within the TABLE 4 row are adjusted so that the variable is forced into the optimal solution. The

number of alternates in this class is exactly the number of allowable

states with a maximum of fifty-three.

Some of the cost perturbations may result in non-feasible solutions

(i.e., there is no acceptable way to attain compliance). This fact,

the fact that alternatives may include duplicates, and the fact that the

number of alternates generated is dependent upon both the input states

and the retrofits precluded, means that there is no a priori way to get

a good estimate for the number of unique solutions presented.

59
APPENDIX C

Sample Computer Runs

This appendix contains three computer output products: 1) a compilation

of each of the programs used; 2) an annotated sample input listing; and

3) the abbreviated set of reports produced by processing the input shown.

The program compilations are the versions used to produce the sample

output shown in Chapter 2. All of the subroutines are exactly as they were for the case application presented in Chapter 2 and as described in

Appendix B.

The Program MAIN has been changed for the example presented in this

section in order to limit the number of alternative solutions. The first

class^ of alternative solutions has been limited to two, the first two

which would normally appear.

2 The second class of alternative solutions has been limited to three.

Each of these changes involves only the changing of a limit on a DO loop.

The only other deviation from the program description given in Appendix B consists of a patch executed after a NEXT card and prior to the fire zone

input. This patch allows the CS array to be changed between fire zone inputs

.

The sample input is identical to that for the third floor fire zone of

the case application presented in Chapter 2. In addition, it consists

The first class of alternatives is determined by the rows of Table 4.

For example, suppose X^^ • appears in the optimal solution as a retrofit,

then the costs of all potential retrofits for the i^ feature are made

arbitrarily high. This step guarantees that no potential retrofits

associated with that feature can appear in the optimal solution. The

number of solutions generated in this class is equal to the number of

features which moved to a higher state in the optimal solution.

This class of solutions is generated in the following manner: if X^j

appears in the optimal solution as a retrofit then its cost is made

arbitrarily high thus precluding it from consideration; or if X^j did

not appear in the optimal solution as a retrofit and it is a potential

retrofit, then its cost is held constant and the costs of all other

potential retrofits for that feature are made arbitrarily high. The

number of solutions generated in the second class is equal to the

number of variables in the origianl linear programming problem minus

the number of retrofit states which cannot be attained.

3 • . • CS 18 a 13 by 5 by 5 array containing the unit costs used in the

linear programming problem. The first two dimensions correspond to

the rows and columns of Table 4. The third dimension corresponds to

the indices of the element cost vector.

60
of a set of modifications carefully chosen so as to illustrate the use of

the CHANGE and REQUIR options. Exhibit C.l shows the input stream as it

actually entered the computer.

Immediately following Exhibit C.l are the report sets produced by the

input stream. The number of solutions presented was limited so as to

keep the example reasonably sized. Since Section 2.4.2 dealt with the

output format and its interpretation, an extensive interpretation of the

results will not be given. The intent of the example is to illustrate:

1) the flexibility of the system; 2) the inputs required; and 3) the form,

content, and sequence of the reports produced. It is not intended to

provide a line by line description of the input-output stream.

61
Exhibit C.l Sample Input Run Stream

3112123112211 FLOOR 3

3 4 2 3 2

3 2 3 3 32

1

2 2000 0 2000 0

3 0 1200 0 1200

4 0 3 -1 -1

5 0 0 30 0 30 0 0 0 30 0 0 30

6 1 1 -1

7 0 0 3 0 0 3

8 -1 -1 -1 320 0 0 0 -1 -1 -1 -1 -1

8 1090 240 0 2

9 0 1 -1 -1 -1 -1

10 0 25 1 -1 -1 -1

11 1

12 2000 5610 7610 8700

13 2000 0 7610 0 7610 1090

SOLVE

CHANGE 92 0

CHANGE 11 3 1200

CHANGE 52 -1

REQUIR 2 20

SOLVE

END

62
Exhibit C.2

ii Sample Output Run Stream

I Table 1. Occupancy Risk Factors

Patient

Mobility 1.0 1.6 3.2 4.5

Patient

Dens ity 1.0 1.2 1.5 2.0

Zone

Location 1.1 1.2 1.4 1.6

Ratio of

P to A 1.0 1.1 1.2 1.5

Average

Age 1.0 1.2

Table 6. Mandatory Safety Requirements

Containment Ext inguishment People Movement

SA SB SC

Zone Location New Exist New Exist New Exist

First Floor 9.0 4.0 6.0 3.0 6.0 1.0

Above 1st Floor 14.0 8.0 8.0 5.0 9.0 3.0

Table! 4. Parameter Values with Prescriptive Ind ices

1. Cons truction 3

First Floor -2.0 .0 -2.0 .0 .0 2.0 2.0

Second Floor -7.0 -2.0 -4.0 -2.0 CM • 0 1 2.0 4.0

Third Floor -9.0 -7.0 -9.0 -7.0 -7.0 2.0 4.0

4th & Above -13.0 -7.0 -13.0 -7.0 -9.0 -7.0 4.0

2. Interior Finish Corr & Exi t 2 -5.0 .0 3.0

3. Interior Finish Rooms 2 -3.0 1.0 3.0

4. Corridors Partitions/Wal Is 2 -10.0 .0 1.0 2.0

5. Doors to Corridor 3 -10.0 .0 1.0 2.0

6. Zone Dimensions 4 -6.0 -4.0 -2.0 .0 1.0

7. Vertical Openings 4 -14.0 -10.0 .0 2.0 3.0

8. Hazardous Areas 5 -11.0 -5.0 -6.0 -2.0 .0

9. Smoke Control 2 -2.0 .0 to . O 4.0

10. Emergency Movement Routes 3 -8.0 -2.0 .0 3.0 5.0

11. Manual Fire Alarm 2 -4.0 1.0 2.0

12. Smoke Detection & Alarm 1 .0 2.0 3.0 4.0 5.0

13. Automatic Sprinklers 1 .0 2.0 00 • o 10.0

63
Exhibit C.2 (Cont.)

Problem 3 Floor 3 Table 1 Indices 34232

Problem 3 EXIST F FSNT Floor 3 Patients 32

SA = 8.0 SB = 5.0 SC =3.0 R = 6.6

I P Input^ Cost*’ Input Cost Input Cos C Input Cos t Input Cost

1. Construction 3 3

kirkisirk ****** ****** ****** 0 0

2. Interior Finish Corr & Exit 1 2 0 0 2000 800 2000 800

0 0 0

3. Interior Finish Rooms 1 2 0 0 0 600 0 600

0 1200 1200

4. Corridors Partitions/Walls 2 2 ****** ****** 0 0 0 1200 ****** ******

****** 0 3 ******

5. Doors to Corridor 1 3 0 0 0 3000 30 9000 30 10800

0 0 0 0

0 30 0 0

0 0 0 30

6. Zone Dimensions 2 4 ****** ****** 0 0 1 15000 1 19650 ****** ******

7. Vertical Openings 3 4 ****** ****** ****** ****** 0 0 0 3750 0 3900 ****** ****** 0 0

0 ****** ****** 0 3

3

8. Hazardous Areas 1 5 0 0 ****** ****** 320 720 ****** ******

1090 7453

0 ****** 0 ******

240

0 ****** 0 ******

0

0 ****** 0 ******

2

9. Smoke Control 1 2 0 0 0 1400 ****** ****** ****** ******

0 1 ****** ******

10. Emergency Movement Routes 3 3 ****** ****** ****** ****** 0 0 u 4650 ****** ****** ****** ****** 0 25 ****** ****** ****** 0 1 ******

11. Manual Fire Alarm 2 2 ****** ****** 0 0 1 1000

12. Smoke Detection & Alarm 1 1 0 0 2000 4500 5510 12623 7610 17123 8700 19375

13. Automatic Sprinklers 1 1 0 0 2000 4000 7610 15220 7610 17673

0 0 1090

Numbers in this column are actual element counts.

A cost of 0 implies the Building Safety Feature is already in that state. A cost greater Chan or equal to 0 is an estimate of the retrofit cost. A cost of ****** indicates a regression in score or impossible retrofit.

64
TABLE

!•

OCCUPANCY

RISK

FACTORS o o o o W - <»• <1- o o o o

CVi (M (VJ

NI

>0 o

in o in • • • •

CM

CVJ in < (U • • • •

<o CVJ CVJ <VJ • • • • •

P4o o pM o o • • • t • z u.

K > h >- o o UJ Z >1 Z h- PM < V3

UJ _J UJ

M

H o < M M in UJ < « o oc

H CD z z u

HH UJ UJ < O < UJ o o < > (3 a X Q. o M J u: a < < • • • • •

CVJ ro in

V)

»-sX

UJaM3O

>•&

<Ae<s<X

la

(D< O o o o o o O o o • • • t • • • • •

eg

N O' pM

n U) in z 1 1 1 UlX »- o O

UJ (/) • • o o O o o o o o o o o o o > PM n • • • • • • • • • • t • • o X eg N eg eg eg eg ro o X u Ul 1 1 1 1 pM

U)

Ul s o o J UJ • • o o o o o o o o o o o o o o o o a z vn U' • • e • • • • • • • • • • • ' • t o CVJ g- O' n ro n pM pM eg NO ro eg fO CO

Ul 1 1 1 pN 1 1 Q 1 o o o o o o o o o o o o o o o o

1- V) z UJ eg

N h- <1* o in eg •M eg eg

Ulu 1 1 1 1 pM 1 1 X »- o o PM 1 X W) • • Q

V) PMn in z o o O o o o o o o o o o o o o o

PM

X PM 3 m Ul eg <j- O' ro in

n o o yO *?! «M eg 0) •d- 15 ifl UJ 1 1 1 pM 1 1 •M «M 1 pM pM 1 1 1 z 3 o o > 1 1 1 1 1 PM lU • f M z NO CO P fO eg eg eg n in eg ro eg •M «M Z

lUXz - o o

(/) • • M « CO X

UJ zou

tro Z o OM OC u. H O < O p O V) O u. pM

_l

p Ul

UJ I/) > z VC o o M CO N U. < auKaXH

(A>a

UJ

CiX<a

UJjo<H

u:

u: o o a o _i _J U. zo

c:H

<0zou

X

UJ

UJ>0 VC

CO o: < ou

ki1 I

»- V) ^ —z

U. IL

w

UJHDo

ucHZ

(/) <

UJ _l

cr o < tc

OC

M V) *H z z

UJ q: uc

It o oO Q

UJ

H z o: O UJ

IM >

c\jro<fio«osooo»o

— (vjn

65

AUTOMATIC
Exhibit C.2 (Cont.)

innu **«

«•«

«•

•ft-

•ft- *

-ft-

-ft-

•ftO (O

c> u>

o> <i ro h- O O fO O

O

O (\j

O CVJ

•ft-

•ft-

•ft-

•tf-

•ft-

-ft-

•ftit-

-ft- •M-

-K- * * *

•ft ft- ft ft ft ft

ft ft

11 / rooh

00

ft

O o o ft ft o ro ro

K ft o U.' Uj ft ft IT) (VJ

h

</) ft 00 to ft •li- sO vO O ft Q ro ft ft ft U ft ft ft w*

ft ft ft

ft ft ft

H ft ft o o o o o o ro ft ft ft ft ft ft

O U/ ^ o O o D ft ft fO ro ft ft ft ft ft ft (VJ o a ft ft ft ft * ft ft * o 2 •li- ft ft ft ft ft ft •li- ft ft ft ft * ft ft ft

ft ft ft ft ft ft ft ft o o

u- o

(/) a) ou o o o o(\J ooo

O' o

(VJ t

ft

ftft

ftft

ft

ft o o ro o o w <\j O <0 (VJ

(VJ U)

(VJ

ro

(VJ o o o o o ro o o O (VJ

(VJ o o o o

ro o o o o o o O ft ft

(VJ ft *

ro ft ft

ft ft

ft ft

ft ft o o o o o o

w*

'Ll U> N

ftro ft o o o o o li- •li- o ft o o o K ft o o o ft ft o ft o o

(0 ft (D o ft ft <¥ ft u> o o ft ro ft li- *4 ft •<f (0 u ft ft ft ft LO ft ft li- ft U ft •li- ft li- MQ K ft O O o o o o o o o o ft ft ft ft ft ft ft o ^ ft * li- o o o Z O ft O o ro ft ft ft li- ft li- ft li- li- ft o o M a ft o (VJ ft ft ft ft ft ft li- ft ft ft o o z ft (VJ ft ft ft li- ft ft ft li- ft li- (VJ (VJ «i4 ft ft ft ft ft ft ft li- ft ft ft

ft ft ft ft ft ft ft ft ft li- ft UJ

_l

CD< ft o o •n- o ft ft o o ft li- o o

h- ft •li- •li- « ft ft

(VJ (0 ft ft ft ft ft ft ro o ft •li- ft ft ft li- u ft ft ft ft ft ft ft ft ft ft ft ft in ft •li- ft ft li- li- KZ K ft o o o o ft ft o o o o ft ft li- ft o O o o o o ft ft li- ft o o

UJD ft ft ft ft •li- ft ft ft ft ft ft

M

a ft ft ft ft ft ft ft ft ft ft ft

H z ft ft ft ft ft ft ft li- ft ft ft < ft ft ft ft ft ft ft ft li- li- ft a ft ft ft ft ft ft ft ft ft ft ft

ro

a ro (VJ (VJ

N ro •ft tn (VJ ro (VJ «4

IT i-i ro fVJ (VJ ro p4 ro (VJ •4 O • o H

u. II q:

X to UJ J (O

H -J UJ Z < H

X

</) o to Z D u t a z s O <

ro (£ o (0

a _J to

u.O o z < ft

m II

u

a o H UJ

ua to Z z itiJ

tx (/)

H o o UJ ftX o z X M a to z to z < z z o 1- tfl to H M z < UJ J o m

-1 </)

M

M

a o z UJ > < M ft

u. o z z z < a o QKa

K • o MM

a o <0a < ft z UJ

u to

UJ in

M IL u.

u z o k. ft UJ

ft* to UJ to z > K

u

IIu

a u: IL o z j :5 o u u. UJ

M

(D

D 0 o aH

M < o u z o H

r> ro 1/)

a

MM S o u

a UJ

J < K ce a M to M ft UJ o < Ul Z

</> UJ UJ (£ ft UJ

K < X ft

D

X

O Z K ft o z a N o UJ Z o H z z o 0 Z z O o o UJ < z z < z D

UJ UJ • u

M

M

u o N > X to UJ Z (/) <

_l 0) 0 c o o II • • • • t • • • • • • t t u Cl < (VJ ro ft tn (D O' o CM ro a a (0 p4 m0

66
FARAMETE?l

Exhibit C.2 (Cont.)

ooooo ooooo ooo ooo oooo •••«• •#••• ••• ••• ••••

< O O

I I

u*rj ooooo ooooo ooo ooo oooo

I ••••• ••• ••• #•••

ro r) ro

(T> N

» ooooo ooooo oooo

ooooo ooooo ooo ooo oooo

m — n

I I

loro ooooo ooooo ooo ooo oooo

I ••••• ••• «o« ••••

cvj ^ r) ro r)

u< M

I cj ooooo ooooo oooo

—

I N

ooooo ooooo ooo oooo

in 10

1 I

r> ro

I ooooo ooooo Q o o oooo

<*•

(VJ C\J

I ooooo ooooo ooo oooo

(vj <vj rvJ

ooooo ooooo ooo ooo oooo

h- S N

I I I

X to

UJ _l to J UJ

bd < H Z

10 3 (X a z V o <

tr o (0 a J to y- o o z < K z u It o H UJ z UJ

M4 tt to Z z J UJ z K o o UJ cr z UI I X Q to z (0 z < z z z X >

(0 (0 H M z < UJ J u M UJ to o w o: 0^ o z UJ -J > < M a z z z Z z < or UJ VC o u H a o z 3 3

1/) o M 0. o <0 a < a z UJ o (rt to O UJ <

UJ U. u. u z o H a UJ < z 3 oc u K to to Z > K u 3C s t M a yy M U QC a u: o £ -1 3 u u u. UJ o o o z h- u z o 3 o o o H < o u z O H or ur u: o X UJ UJ z (£ N4 Q a u o UJ 3 < u UI a K u: u. w VC UJ o < UJ Z <!• ^0 U)

to UJ UJ U o: UJ H < o: 3 a * * * # Z t- t- u: o z N o UJ Z o t- X X o z z o o o liJ < z z < z 3 o o < (D u

UJ u w u o N > X to UJ z to < U. u u to to to to

-Im

< <NJ fO 10 'O N ou 0> o fO u> to N 00 0> o

m4 (\J

67

COST

ROW

-393000

-393000

0

0

-•^99

-79?

0

-600

-600

-393000
22

23

Exhibit C.2 (Cont.)

<t OJ W I h

CVJ I

o r)

CVJ I

0» CVJ ^ I

QD -4

I SO

I U)

so n - I tr>

10 CVJ - I UJ

- I 10

ro <t - I

CVJ r)

•4 I

•4 eg ^ I

ooooo ooooo ooo ooo oooo o««t» «•••# «o« •e*« ^ OOO

T T T ooooo ooooo ooo ooo oooo

^ ^ <J‘ T T T ooooo ooooo ooo ooo oooo

ooooo ooooo ooo ooo oooo • #»••• ••••• ••• ••• ••••

ooooo ooooo ooo ooo oooo

— CVJ CVJ

I I ooooo ooooo ooo ooo oooo

^ ^ <t

I I ooooo ooooo ooo ooo oooo

^ so sO

I I ooooo ooooo ooo ooo oooo

^ CVJ CVJ CVJ

ooooo ooooo ooo ooo oooo

ooooo ooooo ooo ooo oooo

p4

ooooo ooooo ooo ooo oooo *4000 I *4 »4 *1^

I I I ooooo ooooo ooo ooo oooo

•4 CVJ CVJ

ooooo ooooo ooo ooo oooo

I ooooo ooooo ooo ooo oooo o

•riCvjro^U) o^-a)Oo «4<Njro CO c^ O

1200

-SSSOOO

0

-3000

-9000

-10600

-393003

0

-15000

-15650

-393000

-393000

-393000
Exhibit C.2 (Cont,)

a) cu o o o c o

f'v I e • o • o o

o o o o o

o • • o • o o o o o o

• o • • o • o o o o

o • o •

(VJ cu

I I ocooo coooo ooo ooo oooo mi ete.c ••.e< (o* •••

o M 0)0} ^ I I

>o<i ooooo ooooo ooo ooo oooo mi o«e*e o*« o« (O* ••e* O' -•

inm ooooo ooooo ooo ooo oooo mi ••••0 ••••• ae* ••• ••••

O' -4 mm

•sj-cvj ooooo ooooo ooo ooo oooo mi *•••• ••••• (ot ••• •••.

O' —

m -4 ooooo ooooo ooo ooo oooo mi ••0.0 ••• •••• O' -4 (M OJ

I I

tVJIT) OOOOO ooooo ooo ooo oooo mi ..••• ••••• ••• ••• ••••

OJ

OOOOO ooooo ooo ooo oooo mi ..••• ••••• ••• ••• •••• CO 44 WWW I I I

om ooooo ooooo ooo ooo oooo mi •••

(0 44 'll 'O UJ

I I I

O'N OOOOO ooooo ooo ooo oooo

(Ml ..••• ..... ••• ... ••••

(0 — in in in

I I I

0O <4 ooooo ooooo ooo ooo oooo Ml ••••• ...•• ••• ... •••• CD ^ »i4

I I I

Nin ooooo ooooo ooo ooo oooo

(Ml ..••• ••••• ••• ••• ••••

N - m m m

ooooo ooooo ooo ooo oooo

(Ml ..... ..••. ... .... •••• 1^ « (M CM (M

mm ooooo ooooo ooo ooo oooo o

(Ml •••

s <*

44(Mm-<tm lONmcj'o ..(Mm ^ in 'll nooo'O 41. P4 4^4444 *4 »4 44 44 P4 4^ OJ CM

69

3750

-3900

0

-393000

-720

-393000

-74^52

0

-1400

-393000

-393000

-393000

-393000
Exhibit C.2 (Cont.)

CM n

in I ro

- CM

U) I m

o ^

U) I n

O' 10

I M

OD <t- < I CM

fo

I CM

CM

<1^ I CM

10 -4

<t I CM

^ ro < I

n CM

<r I

CM -

^ I

10 ^ I o

o ^

# I o

O' n

ro I o

o o o o o o o o o o o o o o

o • • • €0 00 CO

ooooo ooooo ooo ooo oooo o

• • o • • te««* ••• ••• •••• O

CM (M CM O

<

I ooooo ooooo ooo ooo oooo o

ooooo ooooo ooo ooo oooo U) • •••• •••«# ••• ••• •••• h ^ tn u> 10 10O'

I ooooo ooooo ooo ooo oooo <VJ • •••• ••• ••• •••! CM

<! <! •«

t ooooo ooooo ooo ooo oooo CM

• ••«• ••• ••• •••• CM -« m r) n M)

CMmt

I ooooo ooooo ooo ooo oooo o

• #••• ••••• ••• ••• o ^ CM CM CM U)

I ooooo ooooo ooo ooo oooo o

esoooo ooo o o ooo ooo oooo o

• •••• ••••• ••• •••# o

CM CM O

mt

I ooooo ooooo ooo ooo oooo o

ooooo ooooo ooo ooo oooo o

• #••• «t* tt* •••• o

-* ^ ^ o

I I r)0>n

I ooooo ooooo ooo ooo oooo O

• •••t ttt«t t*t ••• •••# o ' wt in u) o

I*) O'

(*)

I ooooo ooooo ooo ooo o o o o o t*«t» ••••• ••• » • • » » m » IT) P4 . ro ro »04

I ooooo ooooo ooo ooo oooo o

»«cM(0 '^in iCNcoc^o »<cMro #in«o ^'fflc^o •-

.. m ^ m MPPX .pp4.m(M cm
RHS

ROW

Exhibit C.2 (Cont.)

lOKCDO'O -<<Mro h- 00 O'

OOOOO OOOOO OOO OOO 000(0 o

^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ojinr)(o

II II II II II II II II II II II II II II II II II II II II II II OOOOOOO OOOOO OOO OOO oooo o <OI****« ••••• ••• ••• •••• O M

I 0>000000 OOOOO OOO OOO oooo o tt»* o

I 0)000000 OOOOO OOO ooo oooo o

Ul !••••• ••••• t«* ••• ••••

O M

I NOOOOOO OOOOO ooo ooo oooo o ini***** #•••• ••• ••• ••••

o —

I

tuinooooo OOOOO ooo ooo oooo o ir)l*(»t« ••••• ••• ••• ••••

in -<

in>oooooo OOOOO ooo ooo oooo o ini**«*» »•••• ••• •••

win OOOOO OOOOO ooo ooo oooo o ••• ••• *•••

m w o o o o o

in I n OOOOO ooo ooo oooo

o o in o

— (\j m w u) vo K (0 n> o w in (O N (0 O' o

«>4 (VJ

71

17672
PROBLEM 3

FLOOR 3

ALTERNATE

Exhibit C.2 (Cont.)

tvj o o OO o o o

CVJ • • • • U) • • 0 • • 1 1 1 • CVJ O) CVJ u> U)

CO 1) II II II sii II II II II (/) to to to CM to to to to

w4

D

DD

D <1^ z>DD

D

J -J -1 -1 -J -J -1 _l a U- a a a a a a 0 0 a o: i*. a 0. ct D s D D UJ D D T> o

to U) (0 to > to to to to

K MM

to

K o P u o o o MM o o o • • • • or • • • •

CO in ro \D

u 03 in ro ^0 < (0

kM I) 11 11 UJ II It II II o < CD u t9 u. < OD U o

to to to toa to to to to

DQ

aaa ^ MMu 0 a 1 a

hia<

a.oHWOU

<!•

UJ

CD<

iO

o.ooo

ro

to to (0 to to (0 to to to to to to to to to o o O o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o

in ro ro

p4 ro o mm < N ro ^D CVJ MM CVJ CVJ 1 1 7 1 1 1 1 o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o U) o o o o o o o o o o o o o o o o o o CVI o o o o o o o o o U) in o CVJ in o o o

(D 0) « o o ^o

N 0« N o U)

ro ov 0» ro ro mM

•M

N r> CVJ ro CVJ

Nn CVJ 10 in ro u> CVJ ro CVJ ro *M CVJ •M 1

yi»f\

UJ o o o o o o o o o o o o o o o o o ro E o o o o o o o

_l o o o o o o o o o o o o o o o o o to yu o o o o o o o o o o o o u> o in o o o o o o o o o o n <0 o o o o o in U) < • Ma<

mM •4 «4 •M

to in X) (0 av «M in O' in o r- CD

O CVJ ro ^ 0> fO in vO > mM mM - N N CVJ (U CVJ ro (0 10 ro P)

(rt UJ

t- Z o K o < a J<

h-Z z

UJ (X z < z

UJ _J o

_J > < o K

(T z UJ

U

M o: UJ Z >- H

o.

u u. UJ

u z O

UJ

J

UJV9 < UJ a 3

UJ Z o z z < z

(/) UJ Z </)

u

O' ! J 72

SPRINKLERS

50

1.000
PROBLEM 3

FLOOR 3

ALTERNATE

1002

Exhibit C.2 (Cont.)

ftI

CO

O U) o O' • • • • • 1 <r 1 CJ o

U)

u> II II II II n in in m in

ro

D =>

_J _i

a

a

a

a

(T.

a

aa

D

DD

D

in in in in

K

inou o o o • • • • j 0) m <H II II II II O < CD u o N in in in in

(/) ir> (/>(/)

UJ o o o o o o o o c o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o < t a in fO fO n o <t n CNJ ro «M w o u 1 1 1 1 1 1 1 o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o in

in • o o o o o o o o o o CNJ u o o o o o o U) o FCO CO o O' 'O in

fOm <! F- n o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o

U) \£) N N o o o o ^ O'

NO' ^ ^ in in

N

fVJ cvi oo o M m

nn

n

Oi o n ^

in o o fO

IT) in < H z

in » 3 a

aT \ O < a O in u: -I (fl o o z < a: u a o K UJ a in Z z u) _J K o IS UJ a: a I X Q in z in z < Z z

in (/>

F

M z M < UJ -j o 99

M *-4 (t u: o z UJ _l > < M DC z z z < u: 99 UJ n: o o K a o a o in a < u: z UJ U « M a u. u z o t- DC UJ K in in z >- 99 H u U a a u. P z D o u u. UJ M 3 o o o k M < o o z O H

a.

M o o V o UJ -1 <

UC 1-

a

K

H in 99 a: UJ V5 < U1 Z

lU in UJ UJ a; DC UJ

K < (TD o F z K K o: o z 0: N o UJ Z o »-

UJ o Z Z o a o UJ < z z < z 3 z u u o N > X in UJ Z in < <

a. • • • 9 • • • • 9 • • • • < M ro 9t If) <0 F- 00 o o 99 N r>

a. 99 •M 99

73
PP.OiLtM 3

FLOO-^ 3

ALTE.F.NATL

2021

Exhibit C.2 (Cont,)

O'

O

n ‘ o • • • • t o

U) 1 1 CM

U; II II II It n n n cr> n n 3 3 3 3

_J _l _)

J

a

H G.

Q

aX

X 3 3 3 3

k*nD

nn 10 (0

U o On • • • • <

cn If) PO vO

H II II II It O < (3 u o H n n CO CO < o o o o c o o o o o o o o o o o o o o o o o o o o o o o c o o o o o o o o o o o O o

.ir»

nn I I oIPO

—

O fvj - I I I n evi

CO

::d u

_jn< o o o o o o o o o o o r> o o o o r> o CO o o o o o o o o o o o O O O O O O O

*0 o ooo

ro o o O (M M N ro fO o o o If)

:i- '0 oo

u;

-f

N

n <t

N

— eg

'-g N

g) 1II

LL' X<

iC<>

»-

UJr<a<a o o o o o o o o o o o o o o o o o o o . -o o o o o o o o o o -o o o o o o o o uj u> o o o o o (\j ^ ij'

in

N 't3 o n <J- -•4 eg eg rn r# ro

cr o in vO o ro

po <#• <t <f <f u> U) o

‘XXoo

(/) Xo3on

LJH3 I O < ' X -J CO , < K J

n Z z O

J 3 U U'-

n 2 COT < 2 2 ‘ z — < J J a 2 UJ > < X

UJ ll! 3 O

n 0. < X

T lU

O 0 2 c 1- 1' u

vO 2 > hJ ' Z «J 3 3 U iL Jj •H <• O O 2 o u o ill J <

1.^ a.

u 3 < u s 1 aJ < X u: 3 X o 2 lC N o uJ 2 3 K ( 3 liJ < z z < z 3 N > X n jj n • • • • • • • • N flO o o eg fO '

74
PARAMLTt£F

VARIABLE

TABLF

4

CUbT

uFAuc.

Exhibit C.2 (Cont.)

s o o o <>

GO • • • •

• 1 1 1 o>

a)

O' It II II II in i/) in m

M D D D D

-J _J _j -1

a. Q a CL

LC L. tx rv D D D

in cn i/> H

cncu o o o

• • • • u (T fi r, \0 <

OJ H II II II o o < n V O M

’ in '.0 i/)

o o

o o

o c

o o

r*>

I

-O vO

o o

o o

o n

o c o o

O /)

r) m ^ f\j (\J — c\j

o o r> o

o o o

o o o

o o o o o o

o ^ o

o o r> o o o o o ^ oo o o oo oo oo o o oo

oo oo o oo

o o

o c

0

O ;!• ^ O' 10 N

— MM OD o n <i“ MO u>o

r) sO A> o o

'•i- -g*- L) O

X in

di .JJ LU

-3 < 1-

'.0 3 • ' J s ‘3 < O o r . 1 '0 z < .X J 3 3

—

.X 0 Z X> 3

t— 3 •v5 J •£ V X r x« 3 u: Z n T < Z

73 n t- Z < UJ .J 3 •H

i-i . / 3 ±i _j > < tX 2 Z z < iX -4 U f 3 3 K a

* —

1

n n o n <t LJ 3 -n

LL 'j_ 3 z o C UJ T '

;

.*) Z > -4 h- J u U. -X ;r J 1 3 a 3 iL aJ Ml D c 3 C w •~4 < 3 Z 3

LX *— 3 3 3 Q UJ _l <

^1 'X n , c 3 o < 3 z

n UJ lU }C LX IJ < rx 3 Z o

z K - c 3 Z N 3 u D H o z 3 O o U < T X < Z 3

u — Vj n N > X (/I LU (0 <

• • • • • • • • • • • • •

r-4 M ro <*• IT) ^0 N CO o M rn

•irt

75
MODIFIED

PROBLEM

3

FLOOR

Exhibit C.2 (Cont.)

76
Exhibit C.2 CCont.)

ooooo ooooo ooo ooo oooo o ••e«t ••••• ••• ••• •••• O

<a — ooo •H ^ ff)

I I o

n

aro ooooo ooooo ooo ooo oooo o

I ••••• ••e«t ••• ••• •••• O

tn — n rn NO

I

<0(\J ooooo ooooo ooo ooo oooo o

I ••• ••• o

ro ^ y£)

I ooooo ooooo ooo ooo oooo I ••••• 9 9 c • • 9 9 9 ••• 9 9 9 n n — n n

I I

o

u»ro ooooo ooooo ooo ooo oooo u\

I ••••• 9 9 c • • ••• ••• •••• O'

fvj n r) m r

I

u- OJN

ooooo ooooo oooo On

O'h

I ooooo ooooo ooo ooo oooo I ••••• ••••• ••• •o* •••• (NJ U> U> Ui

I I I

o

r) n

I ooooo ooooo ooo ooo oooo o

N(VJ ooooo ooooo ooo ooo oooo o

I ••• ••• «••• o

— CM CJ CVJ o

ro0

fO

1 -4 ooooo ooooo ooo 0 0 0 o o o o o

1 o N N o

1 1 1 n

o>

ro

I X in

UJ -j in

-1 a

< z

in 3 q: Q z s O < a o U) Cl -i in 1- o o z < a H z V q: o 1- a Z a

a in z z o -j a z

t- o o a a K z a

I X Q in z in z < z z z I >

in in (- m» z M < UJ o UJ (A o M q: tr o z UJ 1 > < a z z z Z z < a a IT o o t- 0. o z 3 _i

(/) o a o V) a < a z a u in U) <1* a <

UJ a a u z o H a a < z -j a

u in in z >- M K o » » K D III u 4- a u: o * -1 3 u u a UJ M o G O z K O z X o o O o o K < O u z O t- 0 a a D X a a o

z a M Q o u O a _i < u a a G a

(X. H a o: M in *-» a a o < a z <£> to

UJ (/) UJ UJ a u a H < CL 3 0 » * « # t- H z H K oc o z 0> N o a Z o 1- » X X • in

UJ o Z z o o o a < z z < z 3 o o o < CD u o o

z UJ u M V o N > I in UJ z in < a or. a in in in in u

< _J

CK CD • < < w m to vO N GO O' o w n <» to NO GO O' o

a CM CM

77
23

Exhibit C.2 (Cont.)

<hCJ 0 0.000 ooooo ooo ooo oooo (Nil ••Q«« vote# •o* 0«o

h — OOO

7 7 7

^ OOOOO ooooo ooo ooo oooo o

I •• 9 • • • 9 •• • •99 •• 9 •••• o

r- ^ ^ o ^ — — n

I I I 0^m

I CVJU/ ooooo ooooo ooo ooo oooo o

CNJI ••••• • 9 • 9 • ••• 9 • 9 • O

w* O

roO'

r>

I ooooo ooooo ooo ooo oooo o

(Ml ••••• •••e» ••• ••• •••• ID

O'

I or) ooooo OOOOO ooo ooo oooo o

(Ml •• 9 • • 9 9 • 9 • 9 9 9 9 9 9 9 9 9 9 O

^ ^ (M <M O

1 I U)

I

0'(M ooooo OOOOO OOO ooo oooo o ^1 ••••• ••••• ••• •••

yO ^ ^

I I ooooo ooooo ooo ooo oooo o -I ••••• ••••• ••• ••• 9 9 9 9 O

^ 'O O

I I r)O'n

I ooooo ooooo ooo ooo oooo o

— I ••••• ••••• ••• ••• 9 9 9 9 o

in ^ (M (M CM CD0

1

'or) ooooo ooooo ooo ooo oooo o

^ \ 9 9 9 9 9 9 9 9 9 9 ••• ••• #••• O

(0 ^ ^ W4 W* O

O'

I

UiCM ooooo ooooo OOO OOO oooo o -I ••••• ••••• ••• ••• •••• o

in ^ o

fO

0)7

ooooo ooooo ooo ooo oooo o

•«l ((t** t*t«* ••• #•••

u> ^ o o o

' T TT

t*)^ ooooo ooooo ooo ooo oooo o -I tt... o

« (M M O

to

O'

fO

I NIh ooooo OOOOO ooo ooo oooo o -I ••••# #.«. o

- - W

I

P«N ooooo ooooo ooo ooo oooo o

•^1 tt**t #•• ##t«

* ->

-< N fo «t in iC OO O' o — Nr*) <» in lO N OU O' o
Exhibit C.2 (Cont.)

O) (VJ r. I o

o o o o o o o o o o o o o o

W (\J

I I

h -

n I o

o o o o o o o o o o

OD 00

I I

fO I O' o o o o o o o o o o Q O O o o o o

w) r>

ro I O' o o o o o o o o o o o o o o

m ro

<*• w

ro I O' o o o o o o o o o o

D -

ro I O' o o o o o o o o o o

OJ CVJ

I I

CVJ U)

ro I 00 o o o o o o o o o o

fO I (U o o o o o o o o o o

CVJ CVJ

I I

o ro

ro I CD o o o o o o o o o o

yo yO

I I

O' CVJ CVJ I 00 o o o o o o o o o o ooo ooo oooo

U) to io

I I I

OO

CVJ I 00 o o o o o o o o o o ooo ooo oooo

I I I

h* W)

CVJ I o o o o o o o o o o ooo ooo oooo

ro ro rn

CVJ I h* o o o o o o o o o o oooo

CVJ CVJ (VJ

40 fO

CVJ i o o o o o o o o o o oooo

^cvjro<^to vor^cDO'O ^cvjro •^lo^o KcDO'O ^

w4«4w«C\J CVJ

79

3750

-3900

0

-393000

-720

-393000

-7452

-393000

-1400

-393000

-393000

-393000

-393000
Exhibit C.2 (Cont.)

m 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 O O o o

in

13-

• e O • 0 etc o t • •

CD •

0)

• 9

(0

^ M o o o o o o o o o o o o o 0 0 0 o o o o

Ui 1 n

• : <vi CM ^ CM

o W4 o o o o o 0 0 0 0 0 o o o 0 0 0 o o o o

u> 1 r) •4

mt

O' in o o o o o 0 0 0 0 0 0 0 0 o o o o o o o

-c1 *- ’

in u> in

CD 0 0 0 0 0 o o o o o 0 0 0 o o o o o o o

1 N <t

6 ro o o o o o o o o o o 0 0 0 o o o o o o o

St 1

2- -

* m

NO CM o o o o o o o o o o o o o 0 0 0 o o o o

St

12- • -

•

CM CM CM

u> fM o o o o o O O O O o o o o o o o o o o o

1 CM

ro o o o o o o o o o o o o o 0 0 0 o o o o

1 CM CM

mS

ro CM o o o o o o o o o o 0 0 0 o o o o o o o

< 1

C\J *4 0 0 0 o o o 0 a o o o o o 0 0 0 o o o o

•<1- 1 ms mS

mS 1 1

in O O o o o o o o o o o o o o o o o o o o

1 o

' z 10 10

m4

o o o o o o o o o o o o o o o o o o o o o

1 o ro ro

««

O' ro o o o o o o o o o o o o o o o o o o o o

1*) 1 o ^

w fo ^ in \0 K 0) (;» o <Nj tn ^ in «o N CO o

650

-393000

-393000

0

-1200

0

-4500

-12622

-17122

-1?5'!’5

0

-4000

-15220
RHS

POW — <M ro M) 'ONOOO'O ^(viro 4^in\0 hcoo'o

W* ^ ^ wM (\J C\J

ooooo ooooo ooo ooo ooo>u o

^ w4 ^ ml ^ m* w* m* ^ tt)«t)r0«O

II II II II II II II II II II II II II II II II II II II II II II ooooooo ooooo ooo ooo oooo o «0I**««* ••••• t«* ••• ••••

o -<

I U'OOOOOO ooooo ooo ooo oooo o

U) !•••#• ••••• ••• ••••

o -*

I oooooooo ooooo ooo ooo oooo o ini****« ••••• ••• ••• ••••

o -•

1 h-oooooo ooooo ooo ooo oooo o

U) !••••• ••••# •••# o ^

I

>01000000 ooooo ooo ooo oooo o

I0 |»««*« ••• ••••

in —

io>uooooo ooooo ooo ooo oooo o ••• t«« ••••

>0

^inooooo ooooo ooo ooo oooo o ini****t ••••• ••• ••• ••••

i*)<rooooo ooooo ooo ooo oooo IOI***«* ••••# .#• ••• ••••

10 mt O o 10 O

I

(M n u) vonodoo »-fMro «» in >o N oo o> o ^

17672
PROBLEM 3

FLOOR 3

ALTERNATE

Exhibit C.2 (Cont.)

n

O o O o O o o O

CO • o • • in • • • • • 1 1 1 1 • OJ w 1 Ut

yU II II II II Ml II II II II ro V) tf) (A (A CJ (A (A lA (A N D O D 3 <t 3 3 3 3

_J _J _l _J _l _J _l _l a a a a a a a a

It Ifa

a

a

a u; i>. z> 3 3 3 UJ 3 3 3 3

(A lA (A (A > (A (A (A (A

1-

tf)

F o 0 u O O O W k—« O

O

O >0 t • • • u. • • • •

_1 OD \0 rn >fi

u on vD < (A

II II II II UJ II II II II o < (11 u 15 a < m o 15 K Irt (A (f) (A a lA (A lA lA

a (I 0 a 0 n

a

aa (L 0 aa

tH

H MM MM 1-^

(A (A s s (A c s (A S S s s lAa

(A s c s S (A

UJ o o o o o o O o o o o o o o o O o o O o o o o o O o O O o o o o o o o o o o o o o o o o o o o o o o o o o o o < • • a. u> ro lA •H n o CM ro <A CM ml CM OJ o 1 1 1 1 1 1 1 o o o o o o o o o * o o o o O o o o o * o o o o o o o K o o o o o o o o o o o o o o o o o in * o o o o o o o

lA • • • • • • • • • * • • • • t • • 6 • t • • • • • • O o o o o * o o o o o CM * o o o O o o o o o in in o CM in « o o o

0) (A * o s O' s * OJ Ul * O' O' lA lA h * <J * «

UJ_J fvj

m m4N (VJN

n OJn in fA in W* OJ lA OJ lA MM CM

to<

UJ o O o o o O' o o o o o o Uj o inO 'll o o o O

O OJ 0)

_l o O o o OJ o o o o o o o *t o in o O O' o o o o o CD m o O o o <0 o lA o o o o o o U; o <t o 00 o o o o o pM to < • a<

•4 pM

CA in <A (0 O' in >o O' - in >o 0- (0 o CM fA

a lA <t in <0 > m4 - CM OJ CM CM CM lA lA lA fA lA HMK (A

Ul _l (A _l a

lA < M

X

(A 3 3 a

a

X S O < a o (A a a o Z < u a o a (A z X o H o 15 a a X X M D lA Z lA X < z

(A lA

M

M z N4 < a

a o M a a o z a J > < z z z < a a a o o 1- o M a o lA a < a X a u M a a o Z o h- a a

(A 111 (A Z > MM

u

a

a

a o f j 3 0 ua

a 3 o o o h < O u z o

a:

M o o u

Q

a

a

ir

M

a

a *-< lA

a

a 15 < a

UJ (A ai

a

a

a

a < aa 3

I- Z H h*

a o z a

N o a Z o

UJ

Q Z Z o o o a < X

XM

X

X

O

u

aN > X lAa

X lA <a • • • • • • • • • * • • < CM fA <! in vO s oo a o Pi4 OJ a f*4 «i4

13#

AUTOMATIC

SPRINKLERS

50

l.OOO
APPENDIX D

Listing of the Computer Programs

The purpose of this section is to provide a complete listing of all

programs (including subroutines) contained in the software package.

Figure D.l, a flowchart outlining the inputs, outputs and interrelationships among programs and subroutines, has been provided to

promote a better understanding of the software package. Since the

number, length, and complexity of the various portions of the software

package vars considerably, readers are encouraged to familiarize themselves with the flowchart prior to any serious study of the programming

details of the software package. Since the MAIN program is considerably

more involved than any of the subroutines listed in this appendix,

those readers seeking a fuller knowledge of the package are encouraged

to refer frequently to the MAIN program documentation section of Appendix

B. Most of the subroutines in the remaining sections of this appendix

can be easily read and understood by users having some familiarity

with FORTRAN. It is worth noting that subroutine RVSMPX was developed

independently of this project. It is a mathematical programming package

which may be used to solve a wide variety of optimization problems.

Those readers interested in a detailed description of subroutine RVSMPX

are encouraged to obtain a copy of the report by Hall et al.^

W. G. Hall, R. H. F. Jackson, and P. B. Saunders, The National Bureau of

Standards Linear and Quadratic Programming Subroutines , National Bureau of

Standards Report 10695, February 1972.

83
FIGURE D. 1 FLOWCHART OF COMPUTER PROGRAM
Listing

of

MAIN

Program !I t1 o

in <z

</) UJ

u. I S\

CNi Os

in01 <z

in UJ ui

u.

U.

V)M• 0) a.o u

U. o • u. zsoo

ffa<z

UI UJ

a o (9 o in

a < < UJ o X X < z K ” z z U < u

a

M z H UI o -J -J o U > a

I” z a UJ o u X <l- UJ > z »- lU UI »- o o u J UJ o UI z M UI a _l UJ z o t > K h- z CO o o 4 b

H4

X to

M < or

a ora

J UI

tf Ui

a in 1-

G < a

a in

HQu u.

a ” _l in o < Z o o o o a Z t-t UJ H 1- »- X UI in UJ a 0 H > a D X H >- <1- X o X > a

UJ Z H UJ in

a

X UI j-

_l UJ

O UJJa UJ UJ

M -I o UI -J

aa -1

a o o -1a

a - in < z a o CD z < J z o a a D (X. < z a o UJ M a UI UJ

in

Ua »- in o T > in

a > z M z UJ o <a ra O o o (9 O H <a IS 4 o a4 X X

u: UJ UJ u -J -J

in

aa

UJ z z a N4 »-4 a in in

(9 le (9

(VI (M o in

A • • «0 •

«0

n ro

O

w <ik •4

«4 «o UJ U) <M w w u » w o o ro ro

(VI

X ro in

a roa

m in in 4^ (VI in

<1- in

K o •«4 < <i4 •i o • K K in a W a W w W o ro

w < M u M w I o I ff X > —4 M _j z a w z N CD <

-1

(D z z z z Z z z z z z z z Z z o o o o o o o o o o a M M M M M »-4 M M M M 4-« UJ in in in in in in in in in in in in in in o z z z z z z z z z z z z z z

Ui UJ UJ UJ UJ UJ UJ UJ UJ UJ UJ UJ UJ UJ UJ

»- z z z z z z z z z z z z z z z 1-4 H4 M 1-4 1-4 «-4 4-4 M

H4 o o o o Q o o o o Q o o o o

»«(vif0^in«oh-oo #****•»•* 0* o •* w ro -(I- in

85
16* 17* 18*

19* 20* 21 * 22* 23*

68*

6 9*

70*

71*

72*

73*

DIMENSION

DIMENSION

DIMENSION

DIMENSION

DIMENSION

DI MENSION

DIMENSION

DIMENSION

H0UT(6)

CS( 1 3.5,5)

T6(3,2,2) a T4A(4.3.3) a IT1X(5) a IT1M<5) a HT1(5,5) a Tl(5,5) a

a ST COSTS * PAPA, COLUMN, VECTOR LENGTH

TABLE 6 * FACTOR, AGE, FLOOR

TA3L 4 * ROW 1 * FLOOR, PROT, INDEX

TABLE 1 INPUT INDICES

TABLE 1 IROW MAXIMA

TABLE 1 LINE HEADS

TABLE 1 24* DIMENSION IQ(6,6) a UNIT INPUT * COLUMN .VECTOR LENGTH

2 5* DIMENSION LV(13) a VECTOR LENGTH BY PARAVETER

26* DIMENSION AGE(2)

27* DIMENSION C0N(3)

28* DATA ((IT4S(I,J),I=1 ,13), J=1 ,2) /

29* 1 1 , 4, 7, 10, 14, 18, 23, 28, 33, 37, 42, 45, 50,

30* 2 3, 6, 9, 13, 17, 22, 27, 32, 36, 41, 44, 49, 53/

31* DATA (

(

IST4( I,J),J=1,2), 1*1,56) /

32* 1 1 , 1, 1, 2, 1, 3,

33* 2 2, 1, 2, 2, 2, 3,

34* 3 3, 1, 3, 2, 3, 3,

35* 4 4, 1, 4, 2, 4, 3, 4, 4,

36* 5 5, 1, 5, 2, 5, 3, 5, 4,

37* 6 6, 1, 6, 2, 6, 3, 6, 4, 6, 5,

38* 7 7, 1, 7, 2, 7, 3, 7, 4, 7, 5,

39* 8 8, 1, 8, 2, 8, 3, 8 , 4 , 8, 5,

40* 9 9, 1, 9, 2, 9, 3, 9, 4,

41* A 10, 1, 10, 2, 10, 3, 10, 4, 10, 5,

42* B 11, 1, 11, 2, 11, 3,

43* C 12, 1, 12, 2, 12, 3, 12, 4, 12, 5,

44* D 13, 1, 13, 2, 13, 3, 13, 4,

45* E 4, 5,6 ,6,5,5 /

46* DATA ((G<I, J),I=1,13),J= 1,5) /

47* 1 0.0, -5 a 0 , ~3 a0, — 10a0,“10a 0,-6 a 0, -14. 0,-1 1*0, - 2*0,- e*o,-4*o,-*o,*o.

48* 2 2.0, .0 • o • o • o • 0 1 o • o

(J1 • o a0,-2.0, 1. 0, 2. 0, 2.0,

4 9* 3 2«0,3. 0,3*0, 1*0, 1«0,~2«0 ,*0,— 6*0, 3*0, *0,2*0, 3*0,8 *0.

50* 4 a 0 , a 0 , a0,2a0,2a0, aO,2aO, -2.0, 4. 0, 3.0, .0,4.0, o • o 51* 5 • 0, • 0 ,*0,*0, *0,1*0, 3*0, *0, *0,5*0 ,*0,5*0,*0 /

52* DATA ((HPARd, J), J = l, 5) , 1= 1 , 9) /

53* 1 •CONSTR* ,

• UCTIDN* ,

* * ,* * ,* *

,

54* 2 • INTERI* , 'DR FI N« ,*ISH C* ,

* OPR 0 * ,

EXIT *

,

55* 3 •INTERI*,*0R FIN* , * ISH R* ,*OOMS *,• *

,

56* 4 •CORRID* ,• ORS PA* a

• P.TITIO* , * NS/WAL* ,

LS *

,

57* 5 •DOORS * , *TO CDR* , *RIDOR *

,

* * ,

* *

,

5 8* 6 •ZONE D*,*IMENSI* ,*CNS * ,

* * ,* *

59* 7 •VERTIC* ,* AL OPE* ,*NINGS * ,

* • ,

* *

,

60* 8 •HAZARD* , *0US AR* , *EAS * ,

* * , • *

,

6 1* 9 •SMOKE •,*CDNTR0* ,

* L * ,

* * , * */

62* DATA ((HPAR(I,J),J = 1, 5) ,1=10,18) /

63* A •EMERGE* , * NCY MO* , * VEMENT* ,* ROUTE*,* S * 64* B •MANUAL*,* FIRE * ,* ALARM *

,

* * ,* • f 65* C •SMOKE •,* DETECT* , * ION & * .•ALARM *,* • 66* D •AUTOMA* ,*TIC SP* , * R INKLE* ,*RS * ,

• f

• ROW

•ROW

• SA * •SB * DATA

K • SC *

• , 'ROW

• , *KOW

10 * 4 • C* , 'ONTAIN* , • MENT

E* , • XTINGU* ,

• ISHMEN

( (HPAR( I,J),J=1,5),I=19,21)

P»,»EOPLE • ,• MOVEME* , *NT

86
• .

» • . 74* • L •SG * G* , 'ENERAL* . • *t* • .

• • » 75* M •COST R«,»OW • ,

• • ,

• • .• •/

76* DATA (((T4A(I« J.K) •<=! *3 ) t J=1 *3) .I=lt4) /

77* 1 ~2«0f 0«0« 0«0i ~2*0« 0*0t 0*0« 0«0« 2*0« 2.0,

78* 2 -7.0. -2,0t 0«0« ~4#0» “2»0» OaOt *~2«0« 2.0. 4.0,

79* 3 1 • o • • o « 0 • 0 f •“9 #0* — 7*0» 0«0« “7«0# 2.0* 4.0*

80* 4 -13*0. -7*0. 0«0« — 13* 0 t — 7«0» 0*0» -9*0» -7.0, 4. 0

81* DATA ( ( (T6( I« JtK) f J=l«2 ) t I=l«3) «K=1 «2 ) /

82* 1 9.0, 4.0, 6.0, 3.0, 6.0* 1.0,

83* 2 14.0, 8.0, 8.0, 5.0, 9.0. 3.0 /

84* DATA ((Tl( I, J) * J— 1 * 5) , 1=1 ,5) /

85* 1 1.0, 1.6, 3.2, 4.5, 9.9,

86* 2 l.O, 1.2. 1 .5, 2.0, 9.9,

87* 3 1.1 * 1.2* 1.4, 1.6, 1 .6.

88* 4 1 .0, 1.1, 1.2. 1.5, 4.0*

89* 5 1.0, 1.2, 9.9* 9.9, 9.9 /

90* DATA ITIM / 4. 4.5,5 ,2 /

91* DATA JPR / 3,2*2*2#3tA,4,5.2f3t2f 1. I /

92* DATA ( (HT1(1.J)«J=1 «4)«I=1*5) /

93* 1 • PATIEN* , *T • .•MOBILI^ .•Y •, 94* 2 •PATIEN* , »T • , •DENSITY , • Y •

,

95* 3 • ZD NE • ,

• • •

• LOCATI • , •ON^

,

96* 4 •RATIO •.•F^.^P TO A^ , • •, 97* 5 • AVERAGE * •

E

• ,

• AGE • ,

• • 98* DATA AGE /•NEW ••EXIST • /

99* DATA CON / • UNPROT^ ,

• PS.OT •.•F RSNT^

100* DATA ((CS( l.I,J) , J=l, 5 ) ,1=1,5) /

101* 1 1.0, • o • • o • O .0,

102* 2 1.0. 1.0, 1.0, 1.0,1 . 0,

103* 3 1.0, • o • • o • • O . 0 , 104* 4 1.0, • o • o • o . 0,

10 5* 5 1.0, 1.0, 1. 0,1. 0,1 . 0 /

106* DATA ((CS( 2,I,J) , J=1,5),I=1,5) /

107* 1 1.0, • o • o « • o « . 0,

108* 2 0.4, 0.5, 1.0, 1.0,1 .0,

109* 3 0.4, • • o p • o

U) o • .0,

110* 4 1.0, • o • • o p • o p . 0,

1 1 1* 5 1.0, 1.0, 1.0, 1.0,1 . 0 /

112* DATA ((CS( 3,I,J) , J=l, 5) , 1=1 ,5) /

113* 1 1.0, 1 .0, 1 . 0, 1 .0,

1

.0,

114* 2 0.4, p • o • • o p

in o • .0,

115* 3 0.4, 0 .5, 1. 0, 1.0,

1

.0,

116* 4 1.0, 1 .0, 1.0, 1.0,

1

. 0,

117* 5 1.0, 1.0, 1. 0, 1.0,

1

. 0 /

118* DATA ((CS( 4,I,J) , J=1,5),I=1,5) /

119* 1 1.0, 1.0, 1.0, 1.0,1 . 0,

120* 2 1.0, 1 .0, 1 . 0, 1 .0,

1

.0,

121* 3 10.0 ,400.0, 1.0, 1. 0,1.0,

122* 4 1.0, • o p • o • • o p . 0,

123* 5 1.0, 1.0, 1. 0, 1.0,

1

.0 /

124* DATA ((CS( 5,I,J) , J=l, 5) , 1=1 ,5) /

125* 1 1.0, 1 .0, 1 . 0, 1 .0,

1

.0,

126* 2 300. 0, 700.0, 100.0 ,60.0,1.0,

127* 3 300. 0,700.0, 100.0 ,60.0, 1.0,

128* 4 300. 0,700.0,100.0 ,60.0, 1.0,

129* 5 1.0, 1.0, 1. 0, 1.0,1 . 0 /

130* DATA ((CS( 6,I,J) , J=1 , 5 ) , 1 = 1 , 5) /

131* 1 1.0, • o p • o p • o p . 0,

87
132* 2 laOtlaOvlaOtlsOtl . 0,

133* 3 1 5000 • 0 • 1 • 0 • 1 • 0 «

1

. 0, 1.0,

134* 4 19650.0* 1 «0. l.Of

1

.0,1.0,

135* 5 l.Ofl.Otl.O.laOfl . 0 /

136* DATA ( (CS( 7. I. J) , J=1,5),I=1,5) /

137* • o • • o • o • • o « .0,

138* 2 l.OvlaO.l.Ovl.O*! . 0,

13S* 3 1 «0* 1 .0* 1 . 0* 1 .0. 1 .0,

140* 42* 7« 430* 0. 1 250.0,

1

.0,1.0,

141* 5 3.9,500.0, 1300.0, 1 .0, 1.0 /

142* DATA ((CS( 8,I,J) ,J=1,5),I=1,5) /

143* • o • o • • o 9> • o .0,

144* 2 1.0, 1.0, 1.0, 1.0,1 . 0,

145* 3 2.25,10.00,500.0, 1300.0, 1. 0,

146* 4 1,0, 1.0, 1.0, 1.0,1 . 0,

147* 5 2.25, 10. 00, 500. 0, 1300.0,1.0 /

148* DATA ((CS( 9,I,J) , J=l, 5 ) , 1=1, 5) /

149* 1 1.0, 1.0, 1.0, 1.0,1 . 0,

150* 2 3.9, 1400.0, 1. 0, 1. 0,1.0,

151* 3 1.0, 1.0, 1.0, 1.0,1 .0,

15 2* 4 1.0, 1.0, 1.0, 1.0,1 . 0,

153* 5 1.0, 1.0, 1 • 0, 1 .0,1 .0 /

154* DATA <(CS(10,I,J) , J=1 , 5 ) , 1=1 ,5) /

155* 1 1 .0, 1 .0, 1 . 0, 1 .0,

1

.0,

156* 2 1.0*1. 0,1.0, 1.0,1 .0,

157* 3 1.0,1 .0,1.0, 1.0,1 .0,

15 8* 4 3.9,30.0,3900.0,1 .0,1.0,

159* 5 1 .O, 1 .0 , 1 . 0, 1 . 0 ,

1

. 0 /

160* DATA ((CS(11,I,J) , J=1,5),I=1,5) /

161* P^ • o • • o • p^ • o • • o .0,

162* 2 1.0, 1.0, 1.0, 1.0,1 .0,

163* 3 1000.0,1.0,1.0,1. 0,1.0,

164* .4 l.O.l.O, 1.0, 1.0,1 . 0,

165* 5 1.0, 1.0, 1.0, 1.0,

1

.0 /

166* DATA <(CS( 12, I, J) , J=1,5),I=1,5) /

167* 1 1 .0, 1 .0, 1 . 0, 1 .0,

1

• 0,

16 8* 2 2.25,1.0,1.0,1.0, 1 .0,

169* 3 2.25, 1 .0, 1.0, 1.0, 1.0,

170* 4 2.25, 1.0, 1 . 0, 1.0, 1.0,

171* 5 2.25, 1.0,1.0,1.0, 1.0 /

172* DATA ((CS(13,I,J) , J=1,5),I=1,5) /

173* 1 1.0, 1 .0,1 . 0, 1 .0,

1

.0,

174* 2 2.00, 1.0, 1.0, 1.0, 1.0,

17 5* 3 2.00, 1.0, 1.0, 1.0, 1.0,

176* 4 2.0,2.25,1.0,1.0, 1.0,

177* 5 2.0, 1.0, 1.0, 1.0,1 .0 /

178* DATA LV / 1,2,2 ,2,4, 1,3,4, 2,3,

1

,1,2 /

179* C L(3) 3 MEANS GOOD ** 1 NUMERICAL BUT SOLVED ** 2 INFEASIBLE

180* c ** 4 SYSTEM ERFOR * 181* c X(83) SHOULD HAVE COST

182* WRITE (6,910)

183* 910 FORMAT (•! • ) 184* WRITE (6,911)

1 85* WRITE (6,911)

186* WRITE (6,911)

187* 911 FORMAT (•»•• ,4X, 'TABLE 1. OCCUPANCY RISK FACTORS*

)

188* WRITE (6,924)

189* 924 FORMAT (• • )

UNBOUNDED

88
190*

191*

192*

193*

194*

195*

196 * 197*

198*

199*

200* 201 * 202* 203*

204*

205*

206*

207*

208*

209*

210* 211 * 212 * 213*

214*

215*

216* 217*

218*

219* 220 * 221 * 222* 223*

224*

225*

226*

227*

228*

229*

230*

231*

232*

233*

234*

235*

236*

237*

238*

239*

240*

241*

242*

243*

244*

245*

246*

247*

OO 1000 1=1

I1=IT1M( I

)

WRITE (6.912) I. (HTl ( I • J) • J=1 .2)

912 FORMAT (*0».I1»». • • A6 « A2

)

WRITE (6.913) (HTKI .J). J = 3.4).(T1(I.J).J=1.I1)

913 FORMAT ( 5X. A6 • A2 . 2X . 5F5 • 1

)

1000 CONTINUE

WRITE (6.914)

WRITE (6.914)

914 FORMAT ( *0 • ) WRITE (6.915)

WRITE (6.915)

WRITE (6.915)

915 FORMAT (•-!••. 8X .• TABLE 6. MANDATORY SAFETY REQUIREMENTS*)

WRITE (6.924)

WRITE (6.916)

916 FORMAT ( 23X. *CONTAI NMEN T* . 5 X .* EXTI NGUI SHMEMT *. 2X ,* PEOPLE MOVEMENT*

1 )WRITE (6.917)

917 FORMAT ( 27X , * S A * . 1 5X .* SB * . 1 5X .* SC *

)

WRITE (6.918)

918 FORMAT (* ZONE LOCATION ».3(8X.*NEW EXIST*))

WRITE (6.919) ((T6(I*J. 1) .3=1.2) .1=1.3)

919 FORMAT (* FIRST FLOOR * . 3( 5X . 2F6 . 1 ) ) WRITE (6.920) ( ( T6 ( I . J . 2 ) . J=1 . 2 ) . I = 1 . 3

)

920 FORMAT (* ABOVE 1ST FLOOR* . 3 ( 5X . 2F6 . 1 ) ) WRITE (6.914)

WRITE (6.914)

WRITE (6.921)

WRITE (6.921)

WRITE (6.921)

921 FORMAT (*+TABLE 4 PARAMETER VALUES WITH PRESCRIPTIVE INDICES*)

WRITE (6.924)

DO 1010 1=1.13

I1=IT4S(I.2)-IT4S(I. 1)^1

IF ( I.NE.l ) GO TO 1005

WRITE (6.922)

WRITE (6.927)

1=1.3)

WRITE (6.928)

1=1.3)

WRITE (6.929)

1=1.3)

WRITE (6.930)

1=1.3)

927 FORMAT

928 FORMAT

929 FORMAT

930 FORMAT

GO TO

1005 WRITE

922 FORMAT ( 13. * • 1010 CONTINUE

BLANKS* t STARS* • PRESs'PFPppp*

DO 20 Isi,21

00 10 Jsl,61

I . (H=>AR( I . J ) . J=l. 5) . JPR( I ) (T4A( 1 .2 . J) . Jsl .2).(T4A(1.2 .J).Js1,2).(T4A(1.3.J)«J

(T4A( 2.2. J) . J=1 .2) . (T4A (2.2. J ). J= 1.2 ) . (T4A(2.3. J) .

J

(T4A(3.2. J) . Jsl ,2) . (T4A(3.2. J) .Jsl,2),(T4A(3.3.J).J

(T4A(4.2. J) . J=1 .2 ) . (T4A(4.2. J) . J=1 .2) « (T4A(4.3. J ) .

J

(18X.*FIRST FLOOR '.IZX.TFe.D

(18X. 'SECOND FLOOR* . 12X.7F6 .1

)

( 18X. 'THIRD

( 18X. *4TH &

1010

(6.922)

FLOOR

ABOVE

. 12X,

. 12X . 7F6. 1

)

7F6, I )

I. (HPAR{ I .J) .Jsl ,5

* .5A6. I6.5F6. 1 )

) . JPR(I ) . ( G( I . J) . Jsl . I 1

)

a INITIALIZE SIMPLEX MATRIX

89
24 8*

249*

250*

251*

252*

253*

25 4*

255*

256*

257*

258*

259*

260*

26 1*

26 2*

263*

264*

265*

266*

267*

266*

269*

270*

271*

272*

273*

274*

275*

276*

277*

278*

279*

280*

281*

282*

283*

284*

285*

286*

287*

288*

289*

290*

291*

292*

293*

294*

295*

296*

297*

298*

29 9*

300*

301*

302*

303*

304*

305*

A( I. J)s0«0

10 CONTINUE

20 CONTINUE

DO 70 1=1.13

A( 1.61 )=1.0

I 1 = IT4S( I . 1 ) I2=IT4S( I.2»

DO 60 13=11.12

J1=IST4( 13.2)

A( I. 13 )=1 .0

a SIMPLEX E^TIRTES BV ROW

a RIGHT HAND SIDE

a FI»ST SIMPLEX VARIABLE FOP ROW I a LAST SIf*PUEX VARIABLE FOR ROW I

a TABLE 4 ROW FOP. SJ-’M^LE^ VARIABLE 13

IF (I.EQ.6) GO TO 30 a NOT I’N SI

IF (I.GE.9.AND.I.LE.12)

A(17.I3)=G( I.J1)*1«0001

GO TO 30 a NOT IN SI

30 IF ( I .GE.2.AND. I •LE..7) GO TO 40 a NOT IN S2

IF ( I.GE.9. AND. I »LE«1 0)

A(18.I3)=G( I.Jl ) *1.0001

GO TO 40 a NOT IN S2

40 Xl=l .0

IF ( I.EQ.1.0R.I.EQ.3.0R •I .BQ.4

)

GO TO 5-D a NOT I»N S3

IF ( I.EQ.8.0R.I.EQ.11) GO T=n 50 a NOT l^N S3

IF (I.EQ.13) Xl=.5 a SPT?I*4K‘LER MULTIPLIER

A( 19. I3)=X1*G( I.Jl ) *1 .0001 a S3

o

U) A(20. I3)=G( I .Jl)*l«0001 a SG

60 CONTINUE

70 CONTINUE

IA=1

100 READ (5.902) ( IT4X ( I ) . I =1 . 1 3 ) . ( HOUT ( I ) .T-i , 6 ) a CURRENT INDICES

WRITE (6.910)

ICHAN=0

902 FORMAT (13I3.6A6>)

L(3)=0

A( 14.54)=1.0

A(15.55)=l«0

A(16.56)=1.0 a X55-X41

A( 14. 14)=0.0

A( 4.54)=0*0

A(15.37)=0.0

A( 10.55)=0.0

A(16.14)=0.0 : A(16.15)=0«0

A(16.10)=0.0

A( 5.56)=0.0

A( 17. 571 =-1.0

A(18.58)=-l .0

A( 19.59)=-1*0

A(20.60)=-l .0

900 FORMAT (2313) c 903 FORMAT (• *.2X.6A6./)

READ (5.902) ( ITl X ( I ) . I =1 . 5

)

R=1.0

DO 1020 1=1.5

I1=IT1X(I)

IF ( II .LE.O.OR.II.GT.ITIMI I ) ) I1=IT1M(1)

IT1X( I 1 = 11

R=R*T1 ( I .1 1

)

1020 CONTINUE

DO 105 1=1.60

HFOPCE(I)=* • 105 CONTINUE

II

li 90
}l 306*

li 307*

; 308*

309*

310*

I 311*

312*

313*

314*

315*

316*

317*

318*

319*

320*

321*

322*

323*

324*

325*

326*

327*

328*

329*

330*

331*

332*

333*

334*

335*

336*

337*

338*

339*

34 0*

341*

342*

343*

344*

345*

346*

347*

348*

349*

350*

351*

352*

353*

354*

355*

356*

357*

358*

359*

360*

361*

362*

363*

READ (5«900) I PROS, NAGE t NCON, I FL , I <= A

WRITE (6.973) I PROS , ( HOUT( I ) ,

I = 1 6 ) , ( I T1 X ( I ) , I = 1 , 5)

973 FORMAT ( • +PF OBLEM* , I 4 . 3 X .6A6 . 3X .

* TABLE 1 INDICES *.512)

IF (NAGE.NE.2) NAGE = 1 S) DEFAULT AGE OF BUILDING

IF (NCON.LT. 1.0R.NC0N.GT.3) NCON=l ® DEFAULT PROTECTION

WRITE (6.971) IFROB.AGE(NAGE) .CON(NCON).IFL. IPA

971 . FORMAT ( • OPROBLEM • . I 4. 3X . A6 . 3X. A 6. • FLOOR*. 13. • PATI ENTS* . 1 4

)

A(17.26)=0.0 a GRADE OPTIONS ROW 7 COLS 4 AND 5

A(17.27)=0,0

A( 19.26)=0.0

A( 19.27)=0«0

A( 20.26)=0.0

A(20.27)=0«0

IF ( IFL.EQ. 1 .OR.NCON.EQ. 1 ) GO TO 140 ® FIRST FLOOR OR UNPROTECTED

A(17.26)=2.0

A(19.26)=2«0

A(20.26)=2.0

A( 1 7,27)=3,0

A( 19.27)=3.0

A(20.27)=3.0

140 A( 17.51 )=0«0 a DEFAULT ROW 12 COLUMN 2

A( 13.51 )=0.0

A( 19.51 )=0.0

A(20.51)=0«0

IF (NCON.EQ.l) GO TO 150 a UNPROTECTED TYPE OF CONSTRUCTION

A( 17.51 )=2.0

A( 18*51 )=2«0

A(20.51)=2.0

A( 19.51)=1«0

ISO A(19.33)=0.0 a ROW 9 COLUMN 1 A(20.33)=0.0

IF (IPA.LT.31) GO TO 152

A( 19.33)=-2.0

A(20.33)=-2.0

152 A(14*61)=1.0

A( 15*61)=1.0

A( 16.61 ) = 1 .0

IF (IT4X( 5)«GT.l) GO TO 154

A( 14.14)=-!. 0 a -X51-*-X45=0

A(14.54)=1.0 a ADD X45 TO ROW 4

A( 4*54)=1«0

A( 14.61)=0.0

C CONDITIONS ** AND ••• ARE NOT ACCOMMODATED IN THIS SECTION NOW * « « 154 IF (NAGE.EQ.2) F=0.6*R a EXISTING BUILDING

I = IFL

IF (I.GT.4) 1=4

DO 165 11=1.3

A( 17.1 1 )=T4A(I .NCON* II

)

A( 18*1 1)=T4A(I.NC0N« ID

A(20. I 1 )=T4A( I. NCON. II

)

G(l.Il) =T4A( I .NCON. II

)

165 CONTINUE

IF (I.GT.l) 1=2

A( 17*61 )=T6( l.NAGE. I

)

A( 18.61)=T6(2.NAGE. I

)

A(19.61)=T6(3.NAGE. I

)

A(20*61 )=R

WRITE (6.923) ( A( I *61 ) . I = 1 7 . 20 )

91
364*

36 5*

366*

367*

368*

369*

370*

371*

372*

373*

374*

37 5*

376*

377*

378*

379*

380*

381*

382*

383*

384*

385*

386*

387*

388*

389*

390*

391*

392*

393*

394*

395*

39 6*

397*

398*

399*

400*

401*

402*

403*

404*

405*

406*

407*

408*

409*

410*

411*

412*

413*

414*

415* 416*

417*

418*

419*

420*

421*

923

972

901

500

510

513

516

96 5

520

530

550

560

590

600

610

FORMAT (•0SA=*,F4.1.» SB=»,F4*1,* SC=*»F4*1,»

WRITE (6,972)

FORMAT (•0*,35X,»I P • , 4X , 5 (

* I N=>UT • ,3X ,• COST* , 5X ) )

?=• »F&, 1

)

© FLAG BUFFER

INDEX OF 1ST TO READ

INDEX OF LAST TO READ

VECTOR LENGTH

NUMBER OF OLUMNS

ASSUME ONE CARD INPUT

WORDS IN READ

© ONE CARD INPUT ONLU

DO 110 1=1*13 ©

Il=IT4S(I.l) a I2=IT4S(I*2) a 13=1 1+IT4X( I )-l

HFORCE(I3)=* I

• FORMAT (I3.5F8#0)

13=1 1+JPR( I )-l

FLD( 30, 6,HF0RCE( 13) ) =FL D ( 30 , 6 , PRES

)

DO 510 Jl=l,5

DO 500 J2=l ,5

IQ( J1 , J2)=-l

CONTINUE

CONTINUE

J3=IT4X(I)*1 a J4=i2-ii+i a K1=LV(I) a K2=J4-J3-H a K4=K2 a J1=K1*K4 a IF (J1,LE,12) GO TO 516

K5=J4

K4=K4-1

JA=J4-1

GO TO 513

READ (5,965) J , ( ( I Q ( J 1 , J2 ) , J2= 1 , K 1 ) , J 1 = J3 , J4

)

FORMAT (13,1216)

IF (J3.GT.J4) IQ(J3,1)=-1

IF (J«NE,I) GO TO 540

IF (K2.EQ.K4) GO TO 520 a C NO SECOND CARO

READ (5,965) J , ( ( I Q ( J 1 * J2 ) , J2= 1 K 1 ) , J 1 =K5 , K2

)

IF (J.NE.I) GO TO 540

K4=IT4X( I

)

J4=I2-I1-H

DO 530 J2=l,6

IQ(K4, J2 )=0

CONTINUE

DO 560 Jl=l,6

IF ( IQ( Jl, 1 ) .GE.O) GO

DO 550 J2=l ,6

IQ( Jl, J2)=999999999

CONTINUE

CONTINUE

J6=ii a DO 620 J2= 1,J4 a X1=0«0

IF ( J2.EQ. IT4X ( I ) ) GO TO 610

Xl=999999999

IF ( J2.LT. IT4X( I ) ) GO TO 610

IF ( IQ( J2, 1 ) ,GT.999999990 ) GO TO 610

X1=0.0 a INITIAL COST STORAGE FOR SUM

DO 600 J1=1,K1 © ALL ELEMENTS OF VECTOR

X2=IQ( J2, Jl

)

X1=X1*X2*CS( I, J2, Jl

)

CONTINUE

C( J6)=X1

OVER ALL TABLE 4 ^OWS

FIRST SOMPLEX VARIABLE OF ROW I LAST SOMPLEX VARIABLE OF ^OW I

a READ TRAILER

a CLEAR CURRENT STATE VECTOR

a ALL COLUMNS

TO 560 a NO

a FLAG LOO®

SUPPRESS FLAG -EITHER IN OR COST

1ST SIMPLEX VARIABLE INDEX

NUMBER OF COLUMNS IN INPUT

© SUPPRESS FLAG

92
422*

4234

424*

425*

426*

427*

428*

429*

430*

431*

432*

433*

434*

435*

436*

437*

438*

439*

440*

441*

442*

443*

444*

445*

446*

447*

448*

449*

450*

451*

452*

453*

454*

455*

456*

457*

458*

459*

460*

461*

46 2*

463*

464*

465*

466*

467*

468*

469*

470*

471*

472*

473*

474*

475*

476*

477*

478*

479*

Xl=Xl+«99

L( J6)=X1

J6=J6+1

620 CONTINUE

K2=I2-1 1-H

WRITE (6«966) J . ( HP AR ( I , J6 ) . J6 = 1 , 5 ) , IT4X ( I ) , JPR( I )

,

l((IQ(J3tl)« L(I1+J3-1))«J3=1,K2)

IF (K1«LE«1) GO TO 110 ® ONLLY ONE ELEMENT IN COST VECTOR

966 FORMAT (•0*,I2t«. • . 4A6 . A5 t 2 1 2 » 2X , 5 ( 1 X . 1 6 , 1 X , I 7 . 2X )

)

DO 630 J1=2.K1

WRITE (6,967) ( I Q( J3 , J 1 ) • J3=l . K2

)

967 FORMAT ( 3 1 X , 5 ( 1 1 X , I 6 )

)

630 CONTINUE

110 CONTINUE

GO TO 640

540 WRITE (6,968) I 968 FORMAT COPARAMETER CARD*, 13,* INCORRECT - RUN A30RTED*)

STOP

640 X1=0.0 ffi INITIALIZE SEARCH FOR MAXIMUM COST

DO 120 1=1,53

IF (C( I ).GT,X1 .AND. C( I) ,LT. 999999990) X1=C(I) ® MAXIMUM LEGITIMATE CO

120 CONTINUE

X1=20.0*X1 5) MAGNITUDE OF SIMPLEX DUMMY COST

DO 130 1=1,53

IF (C( I )«LT.0«0*OR»C (I ) .GT.Xl ) C(I) = X1 5) REPLACE FLAGS WITH A^TIFICIA

130 CONTINUE

X2=,95*X1 a) LIMIT FOR OBJECTIVE FUNCTION

Z( 54)=X2

IALT=0

DO 5 1=1 ,14

L( I )=0

5 CONTINUE

L(5)=l

L( 14) = 1 DO 170 1=1,53

A(21 , I )=-C( I

)

Z(I)=A(20,I)

170 CONTINUE

300 READ (5,960) 1,11,12,14 S> READ CHANGE INPUT

970 FORMAT ( 1 X , A6, 2 13 , I 7 , 41 3

)

960

FORMAT (A6,2I3,I7)

IF ( I.EQ. • SOLVE * ) GO TO 370

IF (I,EQ.*NEXT * ) GO TO 800

IF ( I .EQ.* END • ) STOP

IF (I.EQ.* CHANGE * ) GO TO 320

IF ( I.NE.*FEQUIF • ) GO TO 310

J= 11*16

X3 = I2

A( J,61 )=( 1 •0+.01*X3) *A( J,61

)

GO TO 320

310 WRITE (6,961) 1,11,12,14

961 FORMAT ( • OUSER MOD INCORRECT • , A6 , 2 1 3 , 1 7

, • - RUN ABORTED*)

STOP

320 IALT=1

IF (ICHAN.EQ.O) WRITE (6,962) I PROB , (HOUT ( J4 ) , J4= 1 , 6 ) 962 FORMAT (*OMODIFIED PROBLEM • , I 4 , 3X , 6 A6

)

ICHAN=1

IF (I.NE.*REQUIR*) GO TO 325

93
480*

481*

4824

483*

484«

485*

486*

487*

488*

489*

490*

491*

492*

493*

494*

495*

496*

497*

498*

49 9*

500*

501*

502*

503*

504*

505*

506*

507*

50 8*

509*

510*

511*

512*

513*

514* 515 * 516*

517* 518* 519*

520*

521*

522*

523*

524*

52 5*

526*

527*

528*

529*

530*

531*

532*

533*

534*

535*

536*

537*

WRITE (6*963) I. II *X3«A(J«61)

963 FORMAT (•O'.AE, 13 , F6 . 2 . F 1 1 . 2

)

GO TO 300

325 J1=IT4S(I1.1

)

J2=IT4S( I 1.2)

J4=J 1+12-1

J=II

IF ( J4.LT.J1 .0R.J4.GT.J2) GO TO 310 S) INDEX OUT OF RANGE

FLD(6.e.HFORCE(J4) )=FLD( 0.6, »CCCCCC»

)

IF (I4.LT.0) GO TO 330 ® SUPPRESS

IF (I4»EQ*0) GO TO 340 S> FO»CE IN W ORIGINAL COST

A(21,J4)=-I4 a COST GIVEN ON INPUT

C( J4)=I4

GO TO 360

330 A(21,J4)=-X1 a COST AS INPUT

C( J4)=X1

GO TO 360

340 IT4X(J)=I2

DO 350 J3=Jl.J2

IF (J3.EQ.J4) GO TO 350 a INPUT STATE

A( 21 , J3)=-X1

C( J3)=X1

FLO(6,6,HFORCE( J4) )=FLD(6,6, •FFFFFF*

)

350 CONTINUE

360 WRITE (6*964) I , I 1 , 1 2 , I T4X ( J ) , ( A ( 21 . J 3 ) , J3 = J1 , J 2

)

964 FORMAT (•0*,A6,* ROW',13,* STATE*,I2,» ( • , I 2 , • ) • , 2X . 5F 1 1 . 2

)

GO TO 300

370 ICHAN=0

WRITE (6.963) I DO 375 1=1,13

I 1=IT4S( I, 1 )+JPR( I )-l

FLO(30,6,HFORCE( II )

) =FLD (30 . 6, PRES

)

375 CONTINUE

L(1)=0

L(2)=0

L(3)=0

950 FORMAT (1X.10F12.2)

WRITE (6*910)

CALL PRSMX ( A.21 ,61 , HPAR,5, I ST4,60, 2, I ALT)

172 CALL RVSMPX(A*21*B,23,21 ,61, L.X, 0*0,0)

CALL FEASIB( A,61,21 ,X,L,X2)

IF (L(3).GT.l) GO TO 280

DO 180 1=1,150

Y(I)=X(I) ' 180 CONTINUE

X(81)=-X(81)

DO 175 13=1,4

X( 13+81 )=A( 13+16,61 ) X( I3+90)=-X( 13+81

)

175 CONTINUE

X(90)=0.0

DO 178 13=1,53

J=* • FLD( 30,6, J)=FLD( 30,6, HFOPCE( 13)

)

IF (J.EQ.BLANK) GO TO 178

15=13

16=1 ST4( 13, 1 ) a TABLE 4 ROW FOP THIS VARIABLE

I7=IT4X( 16 )- JPR( 16) a CUFFENT COLUMN MINUS => RESC^I OT I VE COLUMN

94
53 8*

539*

540*

541*

542*

543*

544*

545*

546*

547*

548*

549*

550*

551*

552*

553*

554*

555*

556*

557*

558*

55 9*

560*

561*

562*

563*

564*

565*

566*

567*

568*

569*

570*

571*

572*

573*

574*

575*

576*

577*

578*

579*

580*

581*

582*

583*

584*

585*

586*

587*

58 8*

589*

590*

591*

592*

593*

594*

595*

IF (I7.GT.0) 15=15+17 ©CJ^FENT BETTEF THA PRESCRIPTIVE

IF (X( 90) .LT.O.O) GO TO 176 © PRESCRIPTIVE COST IMPOSSIBLE

X(90)=X(90)+C(I5) a CUMULATIVE PRESCRIPTIVE COST

IF (C( 15) •GE.X2) X(90)=-1.0

176 DO 177 14=1, A © ACCUMULATE GRADES FOR PF.ESCP I PT I M

X( I4+90)=X( I4+90)+A (14+16,15)

177 CONTINUE

178 CONTINUE

X( 150)=X2

CALL PRSOL ( IPROB, I ALT , C , Z , HFORCE , I ST4 , 60 , 2 , IT4X,X,IT4S,13, HPAR, 21

l,5,L,A,ei,HOUT)

260

280

GO

GO

TO

TO

OF CURRENT STATE

GRADE VALUES

IF (L(3).GT.l)

IF (lALT.LT.O)

DO 230 1=1,2

L( 1 )=0

L(2)=0

L(3)=0

IALT=I+1000

I1=IT4S(I,1) © FIRST SOMPLEX INDEX FOR THIS ROW

I2=IT4S(I,2) © LAST SOMPLEX INDEX FOP THIS ROW

CALL MOTEST C HFORCE , 1 1 , I 2, I 4

)

IF (I4.NE.0) GO TO 230

I4=IT4X( 1 )+I 1-1 © SIMPLEX

IF (X( 14) .GT.0,99) GO TO 230

200 DO 210 13=1,150

X(I3)=YC 13)

IF (I3.GT.53) GO TO 210

Z( I3)=A(20, 13) © PRESENT

A(21 ,I3)=-C( 13)

FLD( 0, 6,HFORCE { 13) )=FLD( 0, 6, BLANK)

FLD( 12,12, HFORCE( 13) )=FLD( 1 2, 12, BLANK

)

FLD(30,6,HFOFCE( 13) ) =FLD ( 3 0 , 6 , BL ANK

)

210 CONTINUE

DO 220 13=11,12

IF (I3#EQ.I4) GO TO 220

FLD( 0, 6,HF0RCE( 13) )=FLD ( 0, 6, STAR

)

A(21 , I3)=-X1

220 CONTINUE

CALL RVSMPX(A,21,B,23,21 , 61 ,L,X, 0,1,0)

CALL FEASIB(A,61,21,X,L,X2)

IF (L(3)«GT,1) GO TO 230

X( 81 )=-XC81

)

DO 225 13=1 ,4

X( 13+81 )=A( 13+16,61

)

225 CONTINUE

X( 150)=X2

CALL PRSOL ( IPROB, I ALT, C, Z, HFORCE, I ST4 , 6 0 , 2 , I T4 X , X , I T4 S , 1 3, HD AP , 2

1

1 ,5,L,A,61,HOUT)

230 CONTINUE

IA=2

DO 270 1=1,3

I4=IST4(I,1)

I 1=IT4S( 14,1)

I2=IT4S( 14,2)

CALL MOTEST ( HFOFCE , 1 1 , 1 2 , I 4

)

IF (I4,NE.O) GO TO 270

L< 1 )=0

L( 2)=0

* 1 3 *****

*53*****

95
I 596*

597 *

£ 98* £99*

eoo*

601*

602*

603*

604*

605*

606*

607*

6 0 8* 609*

610*

611 * 612* 613*

6 14* 615*

6 16*

617*

618*

6 19*

620*

621*

622*

623*

624*

625*

626*

627*

628*

629*

630*

631*

632*

€33*

634*

635*

636*

637*

63 8*

639*

640*

641 * 642*

643*

644*

645*

646*

647*

648*

649*

650*

651*

652*

653*

6£4*

655*

240

250

253

256

260

265

L(3)=0

IALT=2000+10*IST4( I . 1 )*IST4(It2)

IF (C(I)«GE.X2) GO TO 270

DO 240 11=1,150

X( II ) = Y( ID

IF (I1.GT.53) GO TO 240

Zdl )=AC20f ID a PF.ESENT GRADE VALJES

A(2l . 1 1 )=-C< ID

FLD( 0, 6,HF0FCE( I 1 D=FLO( 0, 6, BLANK)

FLO ( 12, 12, HFORCEI II ) )=FLD { 1 2 , 1 2 , BLANK

)

CONTINUE

FLD(0,6, HFOF CEd ) ) = FLO ( 0 , 6 , STAR ) 14=0

It = IST4d,D 8

I5=IT4S( II , 1 ) a I2=IT4Sf II ,2) a I6=I5+IT4X( I 1)-I

OO 250 13=15,12 a

IF (I3.EQ.I6) GO TO 250 a IF (C(I3).GT.X2) GO TO 250

I4=i4-i>i a

TABLE 4 ROW

INDEX OF FIRST SIMPLEX VARIABLE THIS RD

INDEX OF LAST SIMPLEX VARIABLE THIS RD

OVER ALL VARIABLES THIS ROW

OONT COUNT IS CURRENT OR IN=>UT INDEX

LEGITIMATE ALTERNATIVE COUNT

CONTINUE

IF (I4.EQ.0) GO TO 270 8

IF ( Y( I) .GE. 0,05) GO TO 256 8

DO 253 13=15,12 8

IF (I3.EQ.I) GO TO 253

A(21,I3)=-X1 a CONTINUE

GO TO 260

A(2l,D=-Xl a 13=1 8 DUMMY TO GET STATEMENT NUMBI

NO OPTION FOR THIS PARAMETER

VARIABLE IS NOW IN BASIS - AND CAN BE 0

VARIABLE IS OUT BUT CAN BE IN

ALL COSTS EXCEPT I6TK

FORCE OUT

CALL RVSMPXI A,21 r6* 23,21,61 ,L,X, 0, 1 , 0)

CALL FEASIB(A,61 ,21 ,X,L,X2)

IF (L(3).GT.D GO TO 270

X( 81 )=-X(81

)

DO 265 13=1,4

X< 13+8 D=A{ 13+16,61 ) CONTINUE

X( 150)=X2

CALL PR SOL { IPROB, I ALT, C , Z , HFORCE , IST4 ,60,2, IT4X,X,IT4S,13, HPAR, 21

1,5,L,A,61,H0UT)

270 CONTINUE

280 WRITE (6,910)

DO 290 11=1,150

X( ID=Y( ID

IF (I1.GT.53) GO TO 290

Z( 1 1 )=A(20, ID

A(21 , I 1 )=-C( II

)

FLO( 0, 6,HF0RCE( 1 1 ) )=FLO( 0, 6,BLANK)

FLD( 12, 1 2, HFORCE ( II ) )=FLD( 12,12, BLANK)

290 CONTINUE

GO TO 300

800 READ (5,813) 1,11, (X( 12), 12=1, £) a TEMP 4 *******

IF (I.GT.13) GO TO 100 a TEMP 44 ******

DO 810 12=1,5 a TEMD 4 ******* CSd , 11 , I2) = X( 12) a TEMP 444 *****

810 CONTINUE a TEMP 44 ******

(B FORMAT (2I3,5F6,0) a TEMO 444 *****

I

I

I

GO TO 800

END

a TEMP 4 *******

96

1
D. 2 Listing of Subroutine PRSOL (PRlnt Solutions )

1*

2*

3* 4*

5 *

6 *74

6*

9* 10 *

11 * 12* 13* 14* 15*

16*

17*

16*

19*

20*

21 * 22* 23* 24* 25 * 26* 27* 28* 29* 30*

31 * 32* 33* 34* 35* 36* 37* 36* 39* 40 * 41 * 42* 43 * 44* 45*

46* 47*

48*

SUBROUTINE PRSOi. ( 1 PRQB« I ALT « C t HFORCE. 1ST4 1 N1 • N2« IT4X. X* I T4S t N3.

1 HPAR«N4*N5«L« A« N6t HOUT)

DloeNSION C(U*ZU) .HFORCE ( 1 > . I ST4 (Nl*N2)tlT4X(l)«X(l)« IT4S ( N3» N2

1 ).HPAR(N4*N5)«L(l)«A(N4«N6i tHOUT(l)

SOLN=* SSSSSS*

X( 100) = 0.0

IF ( lALT.NE.O.ANO.J ALT.NE.l ) X(100)=10.0

CONDITIONS ** AND ••• ARE NOT ACCOMMODATED IN THIS

IF (X(14)oLT«0«05)

DO 10 1=10.13

X( I)=0*0

Z(I)=0.0

10 CONTINUE

DO 20 1=1.4

XI H-56) = -X( 1+81)

20 CONTINUE

DO 40 1=1.53

DO 30 J=l«4

GO TO 60 a X51 NOT IN

a CLEAR BASIS AND GRADES

a FOUND WITH X51 IN THE

a * FROM TABLE 4

SECTION NOW **:«<*

BASIS SIDE CONDITIONS DO

FOR ROW 4 WHICH CANNOT BE

SOLUTION. THIS IS CONDITI

INITIALIZE CONSTRUCTED SURPLUS GRADES

INITIAL SURPLUS IS NEGATIVE OF REQUIREMENT

OVER ALL VARIAL6ES

OVER ALL REQUIREMENTS

IF (A(J+16 . DoLTeOoOoORoAI J+16.I) .GT.0.0)

1Z(I)

30 CONTINUE

CONTINUE

DO 50 1=57.60

IF (X( I ) .GE.'O.OII

X{ J+56)=X( J+56)+X(I )

40

GO

a OVER

TO 50

SURPLUS VARIABLES

a SOLUTION IS SSTILL VALID

50

60

62

64

WRITE (6.916)

RETURN

CONTINUE

WRITE (6.900)

WRITE (6.901)

K=0

IF (L(3).GE.2)

DO 62 1=1.53

IF (X( I )eLTo0o005)

IF (C(I).LT.X(150))

L(3)=2

GO TO 64

CONTINUE

IF (L(3).EQ.2)

IF (L(3).EQ.3)

IF (L(3)eGEo4)

IF (L(3)«GT.l)

DO 80 1=1*53

I1=IST4(1. 1)

( (X( J ).X( J+25) ) .3=57.60) a WRITE INVALID SOLUTION

IPROB.(HOUT( I) .1=1.6) . I ALT

GO TO 64

GO TO 62

GO TO 62

WRITE (6.912)

WRITE (6.913)

WRITE (6*914)

RETURN

ROW

12=IST4(I .2) COLUMN

IF (I2.NE.1) GO TO 70

WRITE (6*909)

CALL RHTAB (K.X)

WRITE (6.903) 1 1 . ( HPAR ( 1 1 * J) . J=1 « 5) a FIRST OF T4 ROW

97
49*

50 * 65

51 * 70

52 * 53* 54F

55*

56* 75

57*

58*

59*

60*

61*

62* 80

63*

64*

65*

66*

67*

68*

69*

7 0* 900

71* 901

72* 902

73* 903

74* 909

75* 910

76* 911

77* 912

78* 913

79* 914

80* 915

81* 916

82*

83*

CALL RHTAB (K«X)

13=3

IF (X( I) .GT.0.05) FLD( 12.6,HF0RCE( I ) )=FLD( 12t6,S0LN)

JF { HFORCE( 1 1 .EQ.» •» GOTO 80

IF (I3eEQ«0) GO TO 75

WRITE (6.909)

CALL RHTAB (K.X)

13=1

WRITE

WRITE

WRITE

XI = X( I I IF (XIsLEoOoO) XI=3o0

CI=C( I

)

IF (C( I ) .GT.X( 150)

)

WRITE (6.902) I. XI

CONTINUE

IF (X(81) .LT.0.05)

IF (X(81 ) .LT.0.05)

IF (L(3)«EQel)

IF (L(3)«EQ.2)

IF (L(3).EQ.3)

IF (L(3).GE.4i

RETURN

FORMAT

FORMAT

FORMAT

FORMAT

FORMAT

FORMAT

FORMAT

FORMAT

FORMAT

FORMAT

FORMAT

FORMAT

IS AND

END

CI=1.0E 15

.IST4( I.2).CI

IALT=-1

WRITE (6.910)

WRITE (6.911)

(6.912)

(6.913)

(6.914)

. Z( I ) .HFORCE( I )

(• 1 • .19X. 'PROBLEM* , I 4 . 3X . 6A6 . 3X . 'ALTERNATE' .15)

COPARAMETER* .25X.* VARIABLE TABLE 4 COST

(*•«•*. 34X. I2.F6.3 .I6.4X.F8.2.F8 .2.3X. A6)

(• *.I2.'. *.5A6)

<

* * ) COINITIAL STATE PASSES ALL REQUIREMENTS')

COBAD NUMERICAL PROBLEM SMALL PIVOT USED*)

( 'ONON-FEASIBLE PROBLEM')

('OUNBOUNDED PROBLEM*)

( 'OSYSTEM EFROR* ) COILLEGAL STATE INCLUDED

CONEXT ALTERNATE INVALID

RHS* .4(2F5.1 .3X)

)

GRADE* /)

IN OPTIMUM SOLUTION IGNORE*)

ROW 4 AND 5 CONDITIONS SURPLU

3 Listing of Subroutine FEASIB (FEASIBillty test)

1* SUBROUTINE FEASIB ( A . I 1 . 12. X . L . X2

)

2* DIMENSION A( 12.11 ) *X( 1 ) .L( 1 ) 3* X3=-X2

4* DO 10 1=1.53

5* IF (X( I )oLTo0o001 ) GO TO 10

e* IF (A(21.I) .LT.X3) GO TO 20

7* 10 CONTINUE

8* RETURN

9* 20 L(3)=2

10* RETURN

11* END

98
D. 4 Listing of Subroutine MOTEST (Modification TEST )

1* SUBROUTINE MOTEST < HFORCE t I 1 . 12 i I 3)

2* DIMENSION HFORCEili

3* • 4* 13=0

5* DO 10 1=11.12

6« FJ-D(6.6. J) = FLD(6.6.HF0RCE( II ) 7* IF (J.EQ.* •.OR.J.EQ.* C •) GO TO 10

e* 13=1

94 RETURN

10* 10 CONTINUE

114 RETURN

124 END

D. 5 Listing of Subroutine RHTAB (Right Hand TABles )

14 SUBROUTINE RHTAB (K.X)

24 DIMENSION XU)

34 K=K-U

44 IF (K.GT.l 1 .AND.X(IOO) .GT.0.0) RETURN

54 IF (K.EQ. 3) WRITE (6.904) X( 81 ) 64 IF (KoEQ. 5) WRITE (6.905) X(82) .X(57)

74 IF (K.EQ. 7) WRITE (6.906) X(83 ).X(58)

84 IF (K.EQ. 9) WRITE (6.907) X( 84) . X( 59)

94 IF (KoEQoll) WRITE (6.908) X(85).X(60)

104 IF (KoLTelB) RETURN

114 IF (K.EQ. 15.AND.X(90) .LT. 0.0) WRITE (6.909)

124 IF (K.EQ.15.AND.X(90).G£.0.0) WRITE (6.910)

134 IF (KoEQol7) WRITE (6.905) X(82).X(91)

144 IF (K.EQ. 19) WRITE (6.906) X(83).X(92)

154 IF (K.EQ. 21) WRITE (6.907) X( 84) .X(93)

164 IF (KoEQo23) write (6.908) X(85).X(94)

174 RETURN

184 994 FORMAT (•+».82X.»TCTAL COST*. F13o2)

194 905 FORMAT (•*•. 82X, *SA=» .F4.1 .

• SURPLUS=* .F5.1

)

204 ^06 FORMAT ( •+• .82X.»SB=* .F4.1 .

SURPLUS=*.F5.1)

214 907 FORMAT (•*•• .82X.»SC=*.F4ol.» SURPLUS=* .F5c 1

)

224 908 FORMAT (•+• .82X.*SG=*.F4.1.

SURPLUS=» .F5.1 ) 234 909 FORMAT (•+».82X.» PRESCRIPTIVE IMPOSSIBLE*

)

244 910 FORMAT (•+• .82X.« PRESCRIPTIVE • .Fllo2)

254 END

X( 90)

99
Listing of Subroutine RVSMPX (Revised SiMPlex)

1* SUBROUTINE RVSMPX ( A • MA» B# MB« MT » NT » L* X*T0LP« I NV * KQP

)

2* C

3* c ***4c#* Xt*****^******************************* ***************

4* c 5* DIMENSION A(MA«1 J« B(MB* 1 ),L(11 «X(1 ) tlBCS) tIP(5) t PR(5)

6* c 7* c * * CHECK FOR NEGATIVE RIGHT HAND SIDES.

8* c 9* DO 10 1=1.

M

10* IF (A(J.NT) .GE.O) GO TO 10

11* WRITE (6.1140)

12* LC3)=2

13* RETURN

14* 10 CONTINUE

15* c 16* c * SET UP CONSTANTS FOR LATER USE.

17* c

1 8* N=NT-1

1 9* M=MT-1

20* V2=M+2

21* INVC=M/2+5

22* ML=L( 1

)

23* MSMX=14

24* MG=L(2)

25* mpn=m+n

26* MPl=M+l

27* ME=M-ML-MG

28* NMAX=N+ML+ME+2*MG

29* ASTAR='**

30* ITP=N-KQP

31* ITC=KQP+ML+MG

32* L(2)=0

33* IF (INV.GT.O) INV=1

34* c 35* c * * COMPUTE EPSILON AND CAPITAL EPSILON©

36* c 37* EPS=TOLP

38* IF (EPS.GT.0.0) GO TO 30

39* XX=l»0E-5

40* IF (EPS.LT.0.0) XX=-EPS

41* Y=0.0

42* DO 20 1=1.

M

43* ' DO 20 J=1.N

44* EPS=A(I . J)

45* IF (EPS.LT.0.0) EPS=-SPS

46* 20 Y=Y+EPS

47* EPS=XX*Y/(M*N)

48* 30 IF (L(3).EQ.O) GO TO 50

49* DO 40 I=3.MSMX

50* 40 L( I 1 = 0

51* L(4J=1

52* L(5)=l

53* L(8)=l

54* L( 12)=l

55* L(13)=l

56* L( MSMX)=1

57* 50 CEPS=10.0*EPS

58* L( 1 )=0

59* DO 60 1=1.

M

60* DO 60 J=1.N

61* XX=ABS(A( I.J) )
62* 60 JF (XX.LT.EPS.ANO.XX.GT.0.0) L(1)=L(1)4-1

63* IF (L(4)«NEo0) WRITE (6.980) E PS. CEPS « L ( 1

)

64* C

65* c * * SET UP LI ( • >-VARIABLE TYPE INDICATOR.

66* c 67* L10FF=MSMX

.6 8* L20FF=L 1 OFF+NMAX

69* 1=1

70* DO 70 J=1.N

71* L(L10FF+I )=0

72* 70 1=1 + 1 73* IF (ML.EQ.O) GO TO 90

74* DO 80 J=1.ML

75* L(L10FF+I )=1

76* 80 1 = 1 + 1 77* 90 IF (MG.EQ.O) GO TO 110

78* DC 100 J=1.MG

79* L(L10FF+I )=2

80* L(L10FF+I+MG)=3

81* 100 1 = 1 + 1 82* 110 IF (ME.EQ.O) GO TO 130

83* DO 120 J=1.ME

84* L(L1CFF+I+MG)=3

85* 120 1=1 + 1 86* c 87* c * * INITIALIZE B(...l. THE BASIS INVERSE. TO THE IDENTITY MATRIX

88* c * * ALSO SET B(..M2). THE VALUES OF THE BASIC VARIABLESo

89* c 90* 130 DO 150 1=1. M2

91* DO 140 J=1.M2

92* 140 5(1 . J)=0.0

93* JF (I.GT.M) GO TO 150

94* B(1.I)=1.0

95* B(I.M2)=A(1.NT)

96* 150 CONTINUE

97* IF (INV.GT.O) GO TO 170

98* c 99* c * * INITIALIZE THE X»S. B(M2..I-THE MULTIPLIERS. AND 8(M2.M2)-TH

100* c * * ARTIFICIAL OBJECTIVE FUNCTION VALUE© FOR ANY ZERO-VALUED

101* c * * ARTIFICIALS IN THE BASIS. RESET B(..M2) TO 0.

102* c 103* DC 160 I=1.NMAX

104* 160 X(I )=-EPS/100.0

105* 170 J=1

106* DO 200 I=1.NMAX

107* I 1=L(L10FF+I

)

108* IF (I1.EQ.0.0R.I1.EQ.2) GO TO 200

109* IF (INVoGToO) GO TO 180

110* X( I )=A( J.NT)

111* L(L2;0FF+J) = I 112* 180 IF (11.EQ.5) B(J.M2)=0.0

115* IF (11 .LT.3) GO TO 190

114* B( M2. J) = lcO

115* B( M2.M2)=B(M2.M2i+B( J.M2)

116* 190 J=J+ 1 117* 200 CONTINUE

118* IF (INVeEQ«2) GO TO 820

119* c

101
120* INITIALIZATIONS FOR PHASE I 121 * 122* 122* 124* 125*

126*

127*

128*

12.9*

133*

131*

132*

133*

134*

135*

136*

137*

138*

139*

140*

141*

142*

143*

144*

145*

146*

147*

148*

149*

150*

151*

152*

153*

154*

155*

156*

157*

15 8* 159*

160*

161*

162*

163*

164*

165*

166*

167*

168*

169*

170*

171*

172*

173*

174*

175*

176*

177*

C * *

c NA=0

IPHASE=1

MCIBJ = M2

ITER=0

FIVM=l.0E28

IMP=0

CBJ=~B(MaBJtM2>

IF (INV.EQ.ll GO TO 820

C

C * * CHECK FOR IMMEDIATE BASIC FEASIBLE SOLUTlONo

C

IF (MLcLTcM) GO TO 220

C

C * * INITIALIZATIONS FOR PHASE II.

C

210 M0BJ=MP1

I PHASE-2

ITER=0

PI VM=1 .0E28

IMP=0

DBJ=-B(MGBJf M2)

C

C *-#•*+*+*+*+*+*+*+*+*+*+*+*+*+*-*+*+*+*+*+*+•»

C *+* STEPS I AND 2-COMPUTE THE C* TO GET S.*-«-4

C *-F*-f*-f *«* **-*-*-l-*-f*-!-*'«*•«'* -f* -<-*-•-* + *•** -f*-l-*-«-*4-*-l-*4-* C

220 ICPSX=0

230 NA^O

IF (INV.GT.OJ GO TO 240

JS=0

IF <L(2)eEQoOoOReICPSXoEQol ) GO TO 240

IF (L< 2)/INVC*INVC.EQ.L(2) I INV=2

IF (INV.EQ.2) GO TO 130

C

C * * CALCULATE THE INDICATORS-C*

.

C

240 BCMOBJtMPl )=0.0

DO 340 J5=ltNMAX

IF (INV.EQ.O) GO TO 250

J-JS

GO TO 260

250 J=J5

IF (X( J) .GE.0.0) GO TO 340

IF (KOP.EQ.O) GO TO 260

IF ( JoLEoITCoANDoX( ITP+J)oGEoOoOI GOTO 340

IF < J.GT.ITP.AND.J.LE.ITP+ITC.AND.XIU-lTPl.SE.O.O) GOTO 340

260 J1=L(L10FF+J)

IF (J1.EQ.4) GO TO 340

IF IJl.EQ.O) GO TO 270

J2=J-N

IF ( J.GT.N+ML+MG) J2=J2-MG

C

C * * COMPUTE C* FOR SLACK, SURPLUS, OR ARTIFICIAL VARIABLESo

C

XX=(-1)**( J1+1)*B(M0BJ, J2)

IF (J1.EQ.3) XX=XX-1.0

102
I

I

I

178* G£) TO 290

179* C

180* c * * COMPUTE C* FOR REAL VARIABLHSo

181* c 182* 270 XX=0.0

183* IF (IPHASE.EQ.2I XX=A(MP1.J)

184* 00 280 1=1«M

185* 280 XX=XX-«-B( MOBJtl )4A(1 * J ) 186* C

187* c * TRANSFER IF INVERTING OR PIVOTING OUT ARTIFICIALS.

1 88* c 189* 290 IF (INVcGToOcORoICPSXoEQol ) GO TO 300

190* C

191* c * TEST FOR MINIMUM C* IF DOING A NORMAL PIVOTo

192* c 193* IF (XX.LE.B(M0BJ.MP1 ) ) GO TO 340

194* 300 BCMOBJ.MPl )=XX

195* JS=J

196* J3=J2

197* IF <INV.GT.0J GO 70 350

198* IF (ICPSX.EQ.O) GO TO 340

199* C

200* C * * IF TRYING TO PIVOT OUT ARTIFICIALS. CHECK THIS COLUMN

201* C * * ENTER. COMPUTE PIVOT ELEMENTo IF PIVOT IS BIG ENOUGH

202* c * 4 OTHERWISE. CONTINUE CN TO NEXT COLUMN.

203* c 20 4* IF (XX«LTo-EPS) GO TO 340

20 5* JS=J

236* IF (Jl.EQ.OJ GO TO 310

207* B<IR.MP1J=C-1)44(J1-H)4B( IR. J2)

208* GO TO 330

209* 310 B( IR.MPl 1=0.0

210* DO 320 K=1 ,M

211* 320 B( IR.MPl ) = B( IR.MPl )-fB(IR.K)4A<K.JS)

212* 330 IF (B( IR.MPl JeGToEPS) GO TO 350

213* IF (B(IR.MPI)oGTo-EPS) GO TO 340

214* GO TO 350

215* 340 CONTINUE

216* IF CICPSX.EQ.l) GO TO 680

217* IF (B(M0BJ.MP1 ) .LT.EPS) GO TO 580

218* C

219* c ***+*+**+*»•***+**+*+*+++*+*+*

220* c ** STEP 3-CALCULATE A'd.S). * + * 221* C *-»-*-l-*+*-»-*-«-4-»-* + *+* *+*••* + *!•*+*+ * 222* c 223* 350 Il=iL(LlCFF+JS)

224* IB(1)=* X( • 225* IPU ) = JS

226* IF (Il.EQ.O) GO TO 360

227* IB(1)=» SC • 228* IPU ) = JS-N

229* IF (I1.LT.3) GO TO 360

230* IBU) = * A( • 231* IPUJ = IPU J-ML-MG

232* 360 DO 410 1=1. MPl

233* C

234* c * 4 COMPUTE REAL OBJECTIVE COST IF NOT ALREADY COMPUTED.

235* c

IF OK TO

PI VOTo

)

103
£36*

237*

238*

£39*

240*

241*

242*

243*

244*

245*

246*

£47*

248*

249*

250*

251*

252*

253*

254*

255*

256*

257*

258*

259*

263*

261*

262*

263*

264*

265*

266*

267*

268*

269*

270*

271*

272*

273*

274*

275*

276*

£77*

278*

279*

280*

281*

282*

283*

£84*

285*

286*

287*

288*

289*

290*

291*

£92*

293*

IF (loLToMPl) GD TO 370

IF ( IPHASE.EQ.2I GO TO 410

8<I.MP1 )=0c0

IF (Il.EQ.O) B(I tMPl)=A(MPl .JS)

IF (I1.EQ.3) B( I^MPl )=-l .0

GO TO 380

C

c *

c370

380

390

4C0

410

C

c * c *

c

* GENERATE THE REST OF THE COLUMN.

B( I .MPl 1=0.0

I2=L(L20FF-H ) IF (I2.EQ.-1J GO TO 380

IF (L(L1DFF+I21 .EQ.5) GO TO 410

IF (Il*£QoO) GO TO 390

B( I, MPl )=B(I, MPl J+(-l J**< Il + n*B< I , J3)

GO TO 410

00 400 K=1 .M

B( I .MPl )=B( I ,MP1 )*B( I «K)*A(K, JS)

CONTINUE

* IF PIVOTING OUT AN ARTIFICIAL, SET THE VALUE OF THIS ARTIFICIAL

* TO ZERO. IF IT IS GT EPS SET L( 3)=1 (COMPUTATIONAL INCONSISTENCY)

IF CICPSX.EQ.O) GO TO 420

IF (B(IR.M2) .GT.EPS) L(3)=l

B(IR.M2)=0«0

GO TO 480

C

C +*+ *++++*«*+ *+*+*+*+•* +*+*+*!*+*+*

C *+ STEP 4-FORM QUOTIENTS TO GET R. **

C *+* + **+*+*++* •!-*•*+*•* + *+*+•* * + *++*+*

C

420 IR=0

APS=1 .0E28

IF (INV.GT.O) APS=0.0

DO 450 1=1.

M

IF (INV.GT.O) GO TO 430

IF ( B( I ,MP1 ) .LE.0.0 ) GO TO 453

XX=B( I, M2)/B(I ,MP1)

IF (XX.GT.APS) GO TO 450

IF (XX.LT.APS.OR.IR.EQ.9i GO TO 443

IF (B( IR.MPl )oGEoB( I , MPl ) ) GO TO 450

GO TO 440

CC * IF INVERTING, FIND THE LARGEST ABSOLUTE ELEMENT AMONG

C * * THOSE R04KS NOT ALREADY PIVOTED INo

C

430 IF (L(L20FF+I ) .NE.-l ) GO TO 450

XX=ABS(B( I .MPl)

)

IF (XX.LE.APS) GO TO 450

440 IR=I

APS=XX

450 CONTINUE

IF (IR.GT.O) GO TO 460

C

C * IF INVERTING, AND THERE IS NO PLACE TO PUT THIS

C * * VARIABLE, SKIP IT AND TRY AGAIN LATERo

C

104
294* IF (INV.GT.OI GO TO 863

2954

296*

2974

2984

299*

300*

301*

302*

303*

3044

30 5*

3064

3074

3084

3094

3104

3114

3124

3134

3144

31 54

3164

3174

3184

3194

3204

3214

3224

3234

3244

3254

3264

3274

3284

3294

3304

3314

3324

3334

3344

3354

3364

3374

3384

3394

3404

3414

3424

3434

3444

3454

3464

3474

3484

34 94

3504

3514

C

C 4 4

c

460

C

C 4 c

cC 4 4

c

470

THE PROai-EM IS UNBOUNDED.

L<3)=3

IX=l

IF (L(M£MX)«EQ.O) RETURN

WRITE (6.1100) (ASTAR.I^l .120) • JS

WRITE (6.1120) ITER. IPHASE«OBJ.(ASTAR.Ial*120)

GO TO 720

XX=ABS(B(IR.MP1)

)

IF (XX.GT.CEPS) GO TO 480

IF PIVOT IS TOO SMALL. SET TO ZERO AND TRY AGAIN®

IF (XXcLToHPS) go to 470

IF EPS.LT.PI VOT.LT.CEPS. PRINT WARNING AND CONTINUE.

IF (i.(5)®NEoO) WRITE (6.1020) ITER. IPHASE. B( IR. MPl ) GO TO 480

B( IR.MPl )-0.0

GO TO 420

C

C 4 + 4-*-4 +4+4+4-l-4t+4+4-«-4+4-«-4+4 +4+4-f4+4 +4-«-4-f444-»-4 C 4-J-4 STEP 5-CALCULATE NEW B(..MT) AND X. 4 + 4

C 4+4+4 + 4+4+4 +4+4 +4+ 4+4+4 + 4+4 +4+4+4 +4 + 4 +4+4 + 4

c480 IF (INV.GT.O) GO TO 490

I1=L(L20FF+IR)

I2=L(L10FF+I 1)

X(I 1 )=-EPS/lOO.O

IF (L(L10FF+I1|.EQ.3) L( LI OFF+1 1 1*4

IB(2)=* X( •

490

500

510

IP(2)=I1

IF (I2oEQ«0) GO TO 490

IB(2)=» S( • IP(2)=I 1-N

IF (J2oLTo3) GO TO 490

IB(2)=* A( • JP(2)=IP(2)-ML-MG

L(L20FF+IR)=JS

B( IR.M2)=B(IR.M2)/B( IR.MPl

)

CO 510 1=1. M2

IF (leEQolR) GO TO 500

B(I«M2)=B(I.M2)-B(IR.M2)4B(I .MPl

)

IF ( I.GT.M) GO TO 510

IF (INV.GT.O) GO TO 510

I1=L(L20FF+I

)

X( I 1 )=B( I .M2)

CONTINUE

JF (INV.EQ.2) GO TO 520

X(NMAX+1 )=-B(MPl .M2)

QBJ=-B(M0BJ«M2)

C

C 4 +4-+4+4+4 + 4+4+4+4+4+4+4 + 4+4+4+4 + 4+4+4+4+4 + 4+4+4 + 4+4 + 4+4 +4+4+ 4

C 4+4 STEPS 6 AND 7-UPDATE THE INVERSE AND THE MULTIPLIERS. 4+4

C 4 + 4+4 +4 +4+ 4+4+4+4+4+4+4 +4+4+4+4+4+4+4+4+4+444+4+4+4+4+4+4+4+4

105
352* C

353* e 20 00 530 K=1

354* B(IR«K}=B(1R.K|/B(IR,MP1

)

355* 530 CONTINUE

356* DO 550 1=1 «M2

357* IF (I.EQ.IRi GO TO 550

358* IF Cl •EQ.M2.AN0. IPHASE.EQ.2) GO TO 550

359* 00 540 K=1 ,M

360* B(I *K)=B( I tK)-B( I .MPl )*B(IR.K)

361* 540 CONTINUE

362* 550 CONTINUE

363* IF (INVoGT«0J GO TO 850

364* ITER=ITER+i

365* i.(2)=L(2)>l

366* C

367* c * * STORE THE MINIMUM PIVOT.

368* c 369* IF CB(IR.MPl).GT.PIVM) GO TO 560

370* PIVM=BCIR.MPli

371* JMP=ITER

372* 560 I1=5+CIPHASE-1)*4

373* C

374* c * « CHECK TO PRINT ITERATION SUMMARY.

37 5* c 376* IF Ci-C Il+l ) .EQ.O) GO TO 570

377* IF CITER/L(H-fl)*L(Il+lJ.NE.ITERI GO TO 570

378* WRITE (6.10601 IPHASE.ITERf BCIR.MPD.OBJ.CI

379* c 380* c * * CHECK TO PRINT ITERATION BASIS®

381* c 382* 570 IF (L( 1 1-I-2) .EQ.OJ GO TO 220

383* IF (ITER/L(I1+2)*L(I1*2).NE.ITER) GO TO 220

384* IX=2

385* GO TC 720

386* c 387* c *•»* + *

+*+*+*+*+*+*-l-*

388* c *+* END OF PHASE. *+*

389* c * 4-* -* *+ * -f *** * -I- * •>• * -f * -f * 390* c 391* 580 IX=3

392* IF (IPHASE.EQ.2) GO TO 700

393* IQ=0

394* c 395* c * * COMPUTE THE NUMBER OF ARTIFICIALS STILL IN ' 396* c 397* NA=0

39 8* DO 599 J=1.NMAX

399* IF (L(HOFF+J) .NE.3) GO TO 599

40 0* IF (X( J) .GT.CEPS) GO TO 600

401* na=na-h

402* 5 90 CONTINUE

403* IF ( B( MCBJ.M2)oGT® ( ME+MG)*CEPS) GO T0 600

404* c 405* c * * IF THE ARTIFICIAL OBJECTIVE FUNCTION IS ACC

406* c * * ARE STILL IN THE BASIS. GO TRY TO PIVOT THE

407* c 408* IF (NA.GT.O) GO TO 620

409* c

106
410« C * * JF ND ARTIFICIALS ARS IN TH3 BASIS AND THE ARTIFICIAL OBJECTIVE

411* C * * FUNCTION IS NOT QUITE ZERO. PRINT WARNING OF ROUND-OFF ERROR.

412* C

413* IF ( B(MOBJ. M2)eGToEPS) GO TO 610

414* GO TO 700

415* c 416* c * * THE PFDBLEM IS INFEASIBLE.

417* c

41 8* 600 L(3)=2

419* IF (LCMSMXJ .EQ.OJ RETURN

420* WRITE (6.1090) (ASTAR.I=1 .120).B(MOBJ.MP1

)

421* WRITE (6.1120) ITER. IPMASE. OBJ. (ASTAR. I»l. 120)

422* 1X=1

423* GO TO 720

424* 610 IF (L(MSMX) .NE.O) WRITE (6.1130) ( ASTAR.I=1 . 240

)

425* L(3)=l

426* GO TO 700

427* c 42 8* c * * FIND THE ARTIFICIAL STILL IN THE BASIS.

429* c 430* 620 IQ1=0

431* DO 630 J=1.NMAX

432* J1=L(L10FF*J

)

433* IF (J1.EQ.3) JQ1=IQ1+1

434* IF (IQl.GT.IQ) GO TO 650

435* 630 CONTINUE

436* 640 L(3)=4

437* IF (L(MSMX) .NE.O) WRITE (6.970)

438* IX=1

439* GO TO 720

440* C

441* c * * DETERMINE WHICH BASIC VARIABLE IT IS.

442* c 443* 650 DO 660 IR=1.M

444* I=L(L20FF+IRi

445* IF ( I.EQ.J) GO TO 670

446* 660 CONTINUE

447* GO TO 640

448* C

449* c * * SET ARTIFICIALS IN AT ZERO SWITCH. AND GO TRY TO PIVOT IT CUT.

450* c 451* 670 ICPSX=1

452* GO TO 230

453* C

454* c * * INCREMENT IQ. THE COUNTER FOR CURRENT NUMBER OF ARTIFICIALS THAT

455* c * * CAN'T BE PIVOTED OUTo

456* c 457* 680 IQ=I Q+1

458* IF (NA.GT.IQ) GO TO 620

459* c 460* c * * COUNT AND CHECK THE ARTIFICIALS STILL IN THE BASIS©

461* c 462* JS=&

463* DO 690 1=1 .M

464* I1=L(L20FF-H) ^ 465* IF (L(LIOFF-Hl) .NE.3) GO TO 690

466* JS=JS-*-l

467* c

107
I

I

I

468* C * * XF 3N AND GT EPSILON, INFEASIBLE. OTHERWISE SET TC 9 AND CONTINUED

469* c 1 470* IF (B(I.M2).GT.CEPS) GO TO 600

471* IF (B(I,M2I.GT.EPSi L(3)=l

472* XCIl)=OoO '4 473* L(L1DFF*I1I= 5

474* B< 1 ,M2)=0e0 i 475* 690 CONTINUE 1 476* IF (JS.EQ.O) GO TO 640 ! 477* IF (L(3).EQ.l) GO TO 610

478* C

479* C *+*+-*+*+*+*+*+*'«-*-i-*+*+* 1 480* C **' SUMMARY PRINT. »* •1 481* c +**+*+++*+*•**•*

482* c . 483* 700 Il=5*< IPHASE-1 )*4

484* IF iJ.(Il-f-3) .EQ.OI GO TO 710

485* WRITE <6,1050) (ASTAR. 1=1,129 ),IPHASE,OBJ, ITER < 486* IF (ITER.EQ.O) P1VM=0.0

487* WRITE <6,990) PIVM,IMP

488* IF <IPHAS£,EQ,1 ) WRITE <6,1010) X(NMAX<«-1)

489* WRITE <6,1030) <ASTAR, 1=^1, 120) j 490* c 491* c *«•*+*+•*+*«•*+* i 492* c *»•* BASIS PRINT. *+*

493* c *+*+*-f*Tf*-»-*+*+*+*-«-*-*-* 1 494* c 495* 710 IF <L<Il-«-4).EQ.0) GO TO 810

496* 720 WRITE <6,10 80)

497* DO 730 12=1,5

498* IB<I2)=* •

1 499* PR< I2)=0.0 1 500* 730 IP<I2)=0 1 1 501* 13=0 1 502* 14=0 1 503* IQ 1=0

594* DO 800 12=1.NMAX

505* IF <X( 12) ,LT.0,0.AND.X(I2J .GT.-EPS) GO TO 800 j 536* IF < I4.EQeL<L10PF+12) ) GO TO 740

507* IF < I4*EQoloANDoL<L10FF+I2).EQ,2) GOTO 740 ' 508* IF < I4,EQ.3,AND.L<L10FF+12).EQ.5) GOTO 740 ' 509* IF <L<L10FF+ I2)o EQo 4) GO 70 780

510* IQlil

511* GO TO 790

512* 740 I4=L<L10FF-H2)

513* IF <I3,EQ,5) GO TO 790

514* 13=13+1

515* PR<I3)=X<I2)

516* 15=14+1 I 517* GO To <750,760,760,770,780, 770), 15 i

518* 750 IB<I3)=* X( •

fjiV 519* lPCi3)=I2

520* GO TO 800 1 521* 760 IB<I3)=* S< • 522* IP(I3)=I2-N

523* GO TO 800 1 524* 770 IB<13)=* A< •

'.1 525* IP< I3)=I2-N-ML-MG

108
526*

527*

528*

529*

530*

531*

532*

533*

534*

535*

536*

537*

538*

539*

540*

541*

542*

543*

544*

545*

546*

547*

548*

549*

550*

551*

552*

553*

554*

555*

556*

557*

558*

559*

560*

561*

562*

563*

564*

565*

566*

567*

568*

569*

570*

571*

572*

573*

574*

575*

576*

577*

578*

579*

580*

581*

582*

583*

780

790

800

810

IF

IF

IF

IF

GO TO 800

L<31=4

IX=1

WRITE (6.970J

GO TO 800

IF (13.EQ.0I GO TO 740

WRITE (6»1070i (IB(J)«IP(J).PR(J1«J=1*I3)

IF (IQl.EQ.l) WRITE (6«1110l

IQ1=0

13=0

GO TO 740

CONTINUE

(I3.GT.0) WRITE (6.1070) ( IB ( J ) • 1 P( J ) • PR ( J) . J=1 « 1 3

)

(IX.EQ.l) RETURN

(IXcEQ«2) GO TO 220

(IPHASE.EQ.2) RETURN

C

C

c

c

c820

GO TO 210

*•!*** -f* «*•»*-•*••* *•* TOTAL INVERSION ROUTINE. *+*

*+* + *+**••*+*»•* 4- * + *4-* •*••*•* -I- *+* +

830

840

C

c *

c850

660

J=0

DO 830 I=NT.NMAX

IF (L(L10FF4-I J ,EQ.2) GO TO 830

J=J4>1

L(L20FF4-J)=-1

IF (X( I )«LToCoO) GO TO 830

X( I )=-EPS/100.0

L<L20FF4-J)=I

CONTINUE

14=0

JS=0

GO TO 860

* 14=1 INDICATES THAT A PIVOT WAS PERFORMED.

14=1

X( JS)=-E PS/100.0

I5=JS

IF (I5.EQ.NMAX) GO TO 880

870

C

c *

c880

890

Cc *

c

* * FOR EACH X(I) THAT IS NON-NEGATIVE, GO TRY TO PUT IT IN THE BASIS.

15=154-1

DO 870 JS=I5.NMAX

IF (X( JS).GE.0.0) GO TO 220

CONTINUE

* IF AT LEAST ONE PIVOT OPERATION WAS DONE, GO THROUGH X AGAIN.

IF (I4«EQol) GO TO 840

DO 690 J=1 ,NMAX

X( J)=-EPS/100o0

* SET X TO PROPER VALUES AND CHECK FOR FEASIBILITY.

15=0

109
584* DO 910 1=1*M

5854 IF (B< 1.M2) .LT.-EPS) 15=1

5864 IF (B(I*M2)*LT«0e0oANDeB(I«M2)oGE.-EPS) 6(ItM2)=0«0

5874 I1=L«L20FF+1

)

5884 IF (Il.LT.OI GO TO 900

5894 XUil=B(l.M2i

5904 GO TO 910

5914 900 15=1

5924 910 CONTINUE

5934 IF (I5.EQ.0) GO TO 920

5944 C

5954 C 4 4 INFEASIBLE AFTER INVERSION*

5964 c 5974 L(3)=2

59 84 IF (LC MSMX) .EQ.OI RETURN

5994 IF (INV.EQ.li WRITE (6.1040) ( ASTAR. I =1 .1 20

)

6004 IF (INV.EQ.2) WRITE (6.1000) ( ASTAR. I =1 . 1 20

)

6014 WRITE (6,1120) ITER. IPHASE. OBJ, (ASTAR. 1=1. 120)

6024 IX=1

6034 GO TO 720

6044 c 6054 C 4 4 IF INVERTING BECAUSE OF INITIAL BASIS. FIX UP Ll(.).

6064 c 6074 920 IF (INV«EQo2) GO TO 960

6084 I5=N4ML+MG-fl

6094 IF (I5.GT.NMAX) GO TO 950

6104 CO 930 J=I5.NMAX

6114 930 L(L10FF+J)=4

6124 15=0

6134 CO 940 J=1,M

6144 J1=L(L20FF+J)

6154 IF (L(L10FF+Jl) .NE.4) GO TO 940

6164 L(L10FF+J1 )=3

6174 15=1

61 84 940 CONTINUE

61 94 IF (I5.EQ.1) GO TO 960

6204 950 INV=0

6214 GO TO 210

6224 960 INV=0

6234 GO TO 240

6244 C

6254 c 6264 c 6274 c 6284 970 FORMAT COSYSTEM ERROR- COMPUTATIONAL IMPOSSIBILITY*)

6294 980 FORMAT (• EPSILON = *G13o6,* CAPITAL EPSILON = ’GlBee,* *15.

6304 2 • NON-ZERO ENTRIES ARE EFFECTIVELY EQUAL TO ZERO. •

)

6314 990 FORMAT (• 4<* 14X* MINIMUM PIVOT WAS*G12.5,* AT ITERATI ON* 14,

6324 2 *.*57X*4*)

6334 1000 FORMAT (/////* *120A1/* 4*118X*4*/

6344 2 * 4 ERROR - THE PROBLEM IS INFEASIBLE. INFEASIBILITY INDICATED

6354 3DURING RE-INVERSION OF THE BASIS MATR I Xe * 1 6X * 4 *

)

6364 1010 FORMAT ( lH-f65X*REAL OBJECTIVE FUNCTION =*G15c8)

6374 1020 FORMAT (*04 4 WARNING 4 4 SMALL PIVOT ELEMENT AT ITERATION* 1 4,

6384 2 • OF PHASE*I2,*« PIVOT =*G14o7)

6394 1030 FORMAT (• 4*118X*4*/* *120A1)

6404 1040 FORMAT (/////* *120A1/* 4*118X*4*/

6414 2 * 4 ERROR - THE VARIABLES SPECIFIED AS COMPRISING AN INITIAL SOL

no
642 * 643*

644*

645*

646*

647*

648*

649*

650*

651*

652*

653*

654*

655*

656*

657*

656*

659*

660*

661*

662* 663*

664*

665*

666* 667*

668* 669*

670*

671*

672*

673*

674*

675*

676*

3UTI0N DO NOT FORM A BASIC FEASIBLE SQLUTI ON. • 1 2X • * •

)

1050 FORMAT (/////• MEOAl/* **118X»*»/» *»14X*END OF PHASE»I2.

2 •• OBJECTIVE FUNCTION =• G1 8 . 8 .4X 'THERE WERE* 14.

3 • ITERATIONS. *17X***)

1060 FORMAT (///‘OPHASE* . 12. • ITERATI ON* . I 4. *o PI VOT = * . G1 3© 6

.

2 * OBJECTIVE FUNCTI0N=*G15.8. * *.A3.13.*) ENTERED THE BASIS.*.

3 A3. 13.* ) LEFT.*

)

1070 FORMAT ( 5( 3XA3. 1 3. • ) =* F 1 2o 6 )

)

1080 FORMAT (*OBASIC VARIABLES*/)

1090 FORMAT </////* * 120A1/* **118X***/

2

* * EFROR - THE PROBLEM IS INFEASIBLE. THE CONSTRAINTS ASSOCIATE

3D WITH THE ARTIFICIAL VARIABLES BELOW ARE INCONSISTENT© **/

4 * * IF NCNS APPEAR. NUMERICAL DIFFICULTIES HAVE BEEN ENCOUNTERED

5. THE LARGEST ENTRY IN THE OBJECTIVE FUNCTION R0W*.7X.***/

6 • * IS *.G12.5.101X.*** ) 1100 FORMAT (/////* *120A1/* **118X***/

2 * * ERROR - THE PROBLEM IS UNBOUNDED. THE VARIABLE X( * 13.

3 *) CAN ASSUME AN ARBITRARILY LARGE VALUE. THEREBY YIELDI NG* 7X* * *

/

4 * * AN ARBITRARILY LARGE VALUE OF THE OBJECTIVE FUNCT I ON. • 63X •

5)

1110 FORMAT (IH ) 1120 FORMAT (* **118X***/* THE ERROR WAS DETECTED AT ITERAT ION* 1 4.

2 * OF PHASE* 12.

3 *. AT THAT TIME THE OBJECTIVE FUNCTION VALUE WAS* G15o 8 . 4X* * *

/

4 * * AND THE FCLLDWING VARIABLES .WERE 3ASI C. *77X * * * / * **118X***/

5 * *120A1)

1130 FORMAT I///* *120A1/* **118X***/

2 * * WARNING - COMPUTATIONAL INCONSISTENCY INDICATED AT THE END 0

3F PHASE lo THE ALGORITHM WILL CONTINUE WITH PHASE 2.*4X***/

4 * * BUT THE USER IS ADVISED TO CRITICIZE THE RESULTS .* 67X **

/

5 • **118X***/* *120A1)

1140 FORMAT <*0* * AT LEAST ONE ELEMENT OF THE RIGHT HAND SIDE COLUMN

2IS LESS THAN ZERO© SUBROUTINE TERMINATES©*)

C

END

111
D. 7 Listing of Subroutine PRSMX (PRlnt SiMpleX )

2 * 3*

4*

5*

6*

7*

6*

9*

1 0 * 11 * 12* 13* 14* 15* 16*

17*

1 8* 19*

20*

21 * 22* 23*

24*

25*

26*

27*

28*

29*

30*

31*

32*

33*

34*

35*

36*

37*

3 8*

39*

40* 41*

42*

43*

44*

45*

46*

SUBROUTINE PRSMX ( A* I A • I B . HPAR t I C» I ST4 t I D t I = . I ALT

)

DIMENSION A( I A. IBI*HPAP.( IA« IC) «IST4(ID.IE)

DIMENSION L(611

00 5 I=lt61

L(I)=A(21.I)

5 CONTINUE

K=1

IF { lALToNEoOo ANDo lALToNEo 1 ) K=17

WRITE (6.900) ((I).I= 1.10)

WRITE (6.901) ((IST4(I.1)«IST4(I.2)).1=: 1.10)

DO 10 I=K.21

IF (I.EQ. 6.0R.I .EQ.ll .OR.I .EQ.14J WRITE (6.933)

IF ( I.EQ.17.0R.I.EQ.21) WRITE (6.933)

IF (loNEc21)

IWRITE (6.902) I . ( HPAR( I . J ) . J=1 . 5 ) • ( A.( I . J) . U=1 . 1 0 ) . I IF (I.EQ.21) WRITE (6.942) I . ( HPAR ( I . J ) . J=1 . 5 ) . (L ( J ) . J=

10 CONTINUE

WRITE (6.931)

IF (K.EQ.l) WRITE (6.932)

WRITE (6.910) ( (I ) . I=:ll .24)

WRITE (6.911) ((IST4(I.1).I$T4(1.2)).I^11.24)

CO 20 I=K.21

IF (loEQo 6«ORoI»EQolleORoIoEQol4) WRITE (6,933)

IF ( IcEQel7*0R.I #EQ.21 ) WRITE (6.933)

IF (I.NE.21)

IWRITE (6,912) I. (A(I. J) . J=ll .24) ,I

IF (Io£Qo21) WRITE (6.952) I . ( L ( J ) . J=1 1 . 24 > .

I

20 CONTINUE

WRITE (6.931)

IF (K.EQ.l) WRITE (6.932)

WRITE (6.910) ( (I ) . 1=25. 38)

WRITE (6.911) ( (1ST4(1 . 1 ). IST4(I, 2) ). 1=25.38}

DO 30 I=K,21

IF (I.EQ. 6.0RoIcEQo 11« ORo loEQo 14) WRITE (6,933)

IF ( IcEQol7oORcIoEQo21 ) WRITE (6,933)

IF (I.NE,21)

IWRITE (6.912) I . (A( I . J) .J=25.38) .

I

IF (I.EQ.21) WRITE (6.952) I . ( L ( J ) . J=25. 38 ) .

I

30 CONTINUE

WRITE (6.931)

IF (K.EQ.l) WRITE (6.932)

WRITE (6,910) (( 1 ). 1=39,52)

WRITE (6.911) ( ( IST4(I . 1 ), IST4( I ,2) ) , 1=39,52)

CO 40 I=K,21

IF (I.EQ. 6.0R.I.EQ.llo0RoIoEQol4) WRITE (6,933.)

IF ( IoEQol7®ORcIoEQo 21 ) WRITE (6,933)

1,10),

I

112
47* IF (1.NE.21)

48* IMRITE (6.912) I « ( A ( I « J ) . J=39 , 52 ) »

1

49* IF (IoEQ«21) WRITE (6.952) I . ( L ( J ) . J = 39 . 52 ) ,

I

50* 40 CONTINUE

51* WRITE (6.931)

52* IF (K.EQ.l) WRITE (6.932)

53* WKITE (6.920) ( ( I ) . 1=5 3 . 60 ) 54* WRITE (6.911) ( ( I ST4 ( I . 1 ) . I ST4 ( I . 2 ) J . I =53. 60

)

55* DO 50 I=K.21

56* IF (loEQe 6o ORo I o EQo 1 lo ORc I o EQo 1 4 ) WRITE (6.933)

57* IF ( I .EQ. 17.0R.I .EQ .21 ) WRITE (6,933)

58* IF (I.NE.21)

59* IWRITE (6.922) I . ( A ( I . J ) . J= 53 . 61 ) .

I

60* IF (JoEQc21) WRITE (6.962) I , ( L ( J ) . J = 53 , 61 ) ,

I

61* 50 CONTINUE

62* RETURN

63* 900 FORMAT ( • 1 PARAMETER* .21 X ,1 Ol 8 ,5X, • ROW*

)

64* 901 FORMAT (• TABLE 4 INDICES*. 15X, 10(16, •-*,11 )/)

65* 90 2 FORMAT (13. *o * . 4A6,A2, 10F8o 1. 18)

66* 910 FORMAT (3X.14I8.5X. • R3W*

)

67* 911 FORMAT (3X.14( 16, •-* .11)/)

6 8* 912 FORMAT (I3.14F8.1.I8)

69* 920 FORMAT (3X.8I8,* = RHS ROW*)

70* 922 FORMAT (I3.8F8.1,* =*.F8.1,I8)

71* 931 FORMAT ( *0 * ) 72* 932 FORMAT ( *1 * ) 73* 933 FORMAT (

* * ) 74* 942 FORMAT (13. •• * .4A6.A2.11I8)

75* 952 FORMAT (13.1518)

76* 962 FORMAT (13,818,* =*.218)

77* END

113
REFERENCES

1. Building Construction Cost Data 1978 , Robert Snow Means Company,

Inc. , New York, 1978.

2. Chapman, R. E. , P. T. Chen and W. G. Hall, Economic Aspects of Fire

Safety in Health Care Facilities: Guidelines for Cost-Effective

Retrofits, National Bureau of Standards, NBSIR 79-1902, November

1979.

3. Code foy Safety to Life from Fire in Buildings and Structures , National Fire Protection Association, NFPA 101-1973, 1973.

4. Hall, W. G., R. H. F. Jackson and P. B. Saunders, The National

Bureau of Standards Linear and Quadratic Programming Subroutines , National Bureau of Standards Report 10695, February 1972.

5. Nelson, H. E. and A. J. Shibe, A System for Fire Safety Evaluation

of Health Care Facilities , National Bureau of Standards,

NBSIR 78-1555, November 1978.

6. Tragedy of Multiple Death Nursing Home Fires: The Need for a National Commitment to Safety , Select Committee on Aging, Subcommittee on Long-Tarm Care, September 1976.

114
01. Summary date

Yr. Mo.. Day 7 9 0 6 1 5

04. Software date

Yr. Mo. Day

7 9 0 6 1 4

FEDERAL INFORMATION PROCESSING STANDARD SOFTWARE SUMMARY

02. Summary prepared by (Name and Phone)

Robert Chapman x2278

05. Software title FIRE SAFETY EVALUATION SYSTEM RETROFIT COST

MINIMIZATION PROCEDURE

06. Short title NA

03. Summary action New Replacement Deletion m n

Previous Internal Software ID

07. Internal Software ID NA

08. Software type

Automated Data System

Computer Program

|~| Subroutine/Module

09. Processing mode

I I Interactive g Batch

I I Combination

10. General

Application area

Computer Systems .

I

I Support/Utility

Scientific/Engineering

[~~| Bibliographic/Textual

Management/

I Business

Process Control Q Other

Specific Health Care Facility

Renovation Cost Allocatioili

11. Submitting organization and address Applied Economics Croup

Building Economics and Regulatory Technology

Division, CBT, NEL

National Bureau of Standards

Washington. D.C, 20234

12. Technical contact(s) and phone

x2278

x3855

Robert Chapman

William Hall

13.

Narrative Program will minimize (optimize) the costs of alternative methods for retrofitting a fire zone in a health care facility so as to achieve compliance to the Life Safety Code.

It permits the user to input specific Information on potential fire safety retrofits. It

also permits the user to preclude, include or change the cost of any potential fire safety

retrofit. The least-cost combination of fire safety retrofits for each fire zone is

then identified. The cost of strict compliance to the prescriptive provisions of the

Life Safety Code as well as from 10 to 20 alternative retrofits are also identified.

14.

Keywords

Applied Economics; Building Codes; Economic Analysis; Fire Safety; Health Care Facilities;

Hospitals; Life Safety; Mathematical Programming; Nursing Homes; Optimization; Renovation

15.

Computer manuf’r and model UNIVAC 110 8A

16.

Computer operating system

NBS Computer Services

Divis ion

17. Programing language(s)

FORTRAN V

18. Number of source program state- ments 1539

19. Computer memory requirements

14,500 words

20. Tape drives None

21. Disk/Drum units None22. Terminals None

23.

Other operational requirements

None

24.

Software availability

Available Limited m

Operations Research Division

Building 101, Room A-428

National Bureau of Standards

Washington, D.C. 20234

In-house only

25.

Documentation availability

Available Inadequate

m

Operations Research Division

Building 101, Room A428

National Bureau of Standards

Washington, D.C. 20234

In-house only

26.

FOR SUBMITTING ORGANIZATION USE

185-101 Standard Form 185

1974 July

U.S. Dept, of Commerce—NBS

(FIPS. Pub. 30)
3HAVirr^ aAMMATS H0ITAM«K>3V1I < JA5U033 n

tnh>f3« f*"****® npIlMCI KMtnMsatuJI .mMH a p .a . Cl »S*(»^M6 ^tlAQl «Uokrtf»^ *

.

rt'-tS

«T'

y«o'

*-»•. . V ’rtoa

- .'rgj.

* i i^v' v

a»»J« *' “* *G!!^ .'

'

rR

ilM

8 II&lTAttMV8,4!ri^8^

|a«tKi3O0j»% k^TAXBffJfW’’

a~

, ag»

'"

ioto«om 3*5d o^j^iJS,|.„.

«u lipSiT^ & '*"^*^**^‘*^^

, «()Qrn yti>—t ii ari^l .<0

' flu

l£ •at) •• $^w;“4S3|i

i‘ mi (fift30Km i«ai4wb«T .SI

•# —. -—< ^ If, •.

- "*V.k. ^

MMtrfl* too* nc )r^itnff4^4]j

«»l«>iwil^tM»I];qq(Aj

|-W( ','n» ^noAfttVliJ' i

abisiwifi.lS jM%y(S XiifiioJtitM*

.t^bxO aXU «rf3 ftciicilqaaw avaJHsft oS «A o» » o4? '#H*

1 Jl . aa-l^qi

i

»n waafc'Wa aS&3i''iJl0.kj<»3^ '«prt? ^ons^,,jI

yS9\Bm «H S

0

l J i¥CJ «f*ai

4l.TJi»q o«l»^

»dj \o »{}iiitii'voaq svJtaqJtas^aiq artlr o5^aoBaifqH*oai,va4J^iq}« j(^a arft .baiiiaoAbJC oarfit B'liS

}«ftliili9tV rraO rfaiaaH *tt 1H o^iRoiro;>S iaBboD ^ibliuf ;ttalw:'«oajl^boiXqqAfi

(TolaAVoirai! ; 00X400tab4q0 ;qattoH gnifyoH ; 8nJbiMDiBa^o0t

•Mit «qa»|CMi «*wa> to <a*muM

«ta*m i^£2X

a#3oq«o^ -^'/ll

r)»/!tofrMT 4S

,?»fio8

Mtou minO\4aia .tfi aooW

.< •a^ihaiKpaiT

- ».

tftowaainii^

yfMtoitovt nelt&inMnuxO jT

n't .*§'. -'.'•'f-r "'u :r ' 2. .r ''\ ,T ,:/*lr;

4t.

abaow

T

-: •aw*^ 'C O " ,«I.

oOialv^iC ootoXX^taqQ

atM t’-tOX i^bXXafl

wi^ai>0«78 I0 1 00*XI 0VI

«Owa<t-A(. •

yiooH!

^XCrS .9«d «409 i^48b1I

toaimU - ' A'M-

.B- Oa ,. ®

ooXaivXd KtoTjj’aaiJI. anoUa^li

ili eiCA-A «w>o8 4ot.

abiaboBiS Xo w«oiu8 XonoW*

KSOS »3.a ,ao48oXi&V

«&{ Mrcia^lr*«|Mart y*«V *’

tof diit jca iT* aw

Minaoiiq oMtrmiout

. Jp-to:

•• "...,. i' J' I*

104-
NBS>114A (REV. B-781

U.S. DEPT. OF COMM.

BIBLIOGRAPHIC DATA

SHEET

1. PUBLICATION OR REPORT NO.

NBSIR 79-1929 .1.....^ :

Z, Ac<s«$5.loftNo,

4. TITLE AND SUBTITLE

A COMPUTERIZED APPROACH FOR IDENTIFYING COST-EFFECTIVE FIRE

SAFETY RETROFITS IN HEALTH CARE FACILITIES

5. Publication Date January 1980

7. AUTHOR(S)

Robert E. Chapman, William G. Hall, Phillip T. Chen

8. Performing Organ. Report No,

11. Contract/Grant No.

9. PERFORMING ORGANIZATION NAME AND ADDRESS

NATIONAL BUREAU OF STANDARDS

DEPARTMENT OF COMMERCE

WASHINGTON, DC 20234

W.P»}eet/T«k/WorkUflitNo.

12. SPONSORING ORGANIZATION NAME AND COMPLETE ADDRESS fSrreer, cuy. state, ziP)

Game as fr‘9

13. Type of Report & Period Covered

Final

iil^ 1^.11.—

15. SUPPLEMENTARY NOTES

[j^Dpcument describes a computer program; SF-185, FIPS Softv/are Summary, is attached.

16. ABSTRACT (A 200-word or leas factual summary of most significant information. If document includes a significant bibliography or

literature survey, mention it here.) This study focuses on how a computerized version of the Fire Safety Evaluation

System developed by the Center for Fire Research at the National Bureau of Standards

can be used to determine equivalence to the Life Safety Code in the least costly

manner. This study presents a programmer-oriented discussion of the mathematical,

economic and engineering considerations that went into the development of the linear

programming algorithm for identifying cost-effective retrofits. Programmer-oriented

topics treated in this report include: a discussion of user options; program

documentation; format statements; flow charts; sample computer runs; and a complete

listing of the computer program.

17. KEY WORDS (six to twelve entries; alphabetical order; capitalize only the first letter of the first key word unless a proper name;

separated by s^triicolons) Applied economics; building codes; economic analysis; fire safety; health care facilities; hospitals; life safety; mathematical programming; nursing homes;

optimization; renovation

18. AVAILABILITY ^Unlimited

I I For Official Distribution. Do Not Release to NTIS

I I Order From Sup. of Doc., U.S. Government Printing Office, Washington, DC

20402, SD Stock No. SN003-003- QOrder From National Technical Information Service (NTIS), Springfield,

VA. 22161

19. SECURITY CLASS 21. NO. OF

(THIS REPORT) PRINTED PAGES

UNCLASSIFIED 124

20. SECURITY CLASS 22. Price (THIS PAGE)

UNCLASSIFIED $6.50

USCOMM-DC
> .i-Jj

«oTStfS3fD7fr^

«n»#i Aiir-it«'

f.

551 -^'’- Rxe^mi.1

.»HSf

-10 .t^td

Ar*Q

;I31I41 , /.; 1

^ii^L

>rr .? .-.rt . ^

kw >ai', ,,^-wj .. • 'i ' Vks *

^ 5Hi^ JK« y^osm e '’iHaTDtria§A

- a asmJISAf «AA3 itt enwOTH miA8^ . . -a*_,.- . ... _ fSr

•

T qlixiiw"", iiltfl . a-

.;>, jj"

.4 •M

'!^; nTUA .'. «nA»qdda 3

«d^AOiS^T? ^0 OAIJUHI 4AHOITAI4

.woTamJkA»y*<

J

' *

o«ui^ l^<Mf mnt

'’> --If'i

4«i':'WraiC

;'Ti u i:

137 OH VHAT^3l0JJi<^Ul

*

. lai 41

.1 .

' %

Ai ‘t’H.yrrtO? ?3n J

•4- M VIVWO'IAVI « •I»k:k«n<: >htr««Mwa^ II .n«tt«Rn«)nt M^kaiVkit^^ ««iua \o rmwwmw ' -«i it If.

'

• i»is h} '

It noltiMMi •oKkfwAt

^

‘'-s JL

.iol76t;Uv3 dtis ^0 aoX»%9v bevXiaXtriiaiOd A xmi 00 eMiisa) atiflf

eb7«hnAj2 lo o«A7tia tAnoXJAtt ai1$ j» 70) 7A3aaa »<l3 T-tf bdqoXsvsft co930i;d

^li9oo 3«aAi »fi) ol. >! 3«»)i!vB »1 XJ Afl3 03 ftoodXBvXu|« dnlfn».396 03 ixi(»{>' »d nao

^ ,Ifc3X 3 ain*d3 AO ari3 io iioXftWoBlb ba3x:c*l70-70saBiBTg0Tq B \bu3t aJtrfjP'® 7 acn»»,

7a9oii 9it3 !io jjtMiqolavab •itj oint jratiw JBii:f RnoJ:iB‘XBbt$aw ghl^aaiilgiio be#' -AmaQS^'. baJrrei^o-'xaflRuiigoi*! .ndlloxsat ovX;itAo^lo«3«o^ goly;lX3i»ibJ: 7ol gnFiiwgiigo^q

mrgojq ieaaliqo yst&u lo^oXaauoalb B iabiiXoaX 3t^o3^aXiI3 aJt »oJt(jo3

<i3»Iq«oo a toA ;enu7 79311^0100 oiqnrAB ;837ado woXl ;33;T»an3ilOv'^0Mno1t^ {/loXdaJoootuoobi # gnj’-j

k?* ‘ F .f

Vf/' =

. ..-

4 #«r(kt«st*»« ^ l(i»*anM|w||^>^

T] *

9793 d3Xii«d mJi) {«9bpo iptXblXild b'Alq^^

;9»sorf sn^aiuo }il«4X4«od

sa ooX.4iyw^,.;a^w^^

ww:r /’ VTUmJiAVAi <

“ X&;,: MAJ3 I

.^, I

.'' 03n<ttAJOHl| Ai

iJ A ' 0

irrn # ii««th»n }»h 0 u^mo t3?

>'ti

Q^nOfAiOHD

^ '$/ ',[ I w —' WH M| i

1 ^ mn ifjH ^ iSr^i -II

^

foi3

oe.tolios

/*! .-.I