ALARM 2.0 User Manual

Minimizing Compliance Costs of the Life Safety Code for Prisons

 Stephen F. Weber and Laura I. Schultz

U.S. Department of Commerce

Technology Administration

National Institute of Standards and Technology

Office of Applied Economics

Building and Fire Research Laboratory

Gaithersburg, MD 20899

NISTIR 6807

ALARM 2.0 User Manual

Minimizing Compliance Costs of the Life Safety Code for Prisons

 Stephen F. Weber and Laura I. Schultz

 Funded by:

 The U.S. Department of Justice

 National Institute of Justice

 Through the NIST Office of Law

 Enforcement Standards

November 2001

U.S. DEPARTMENT OF COMMERCE

Donald L. Evans, Secretary

NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY

Karen H. Brown, Acting Director

U.S. Department of Commerce

Technology Administration

National Institute of Standards and Technology

Office of Applied Economics

Building and Fire Research Laboratory

Gaithersburg, MD 20899

NISTIR 6807
ii
iii

Abstract

ALARM, Alternative Life Safety Analysis for Retrofit Cost Minimization, is a software

tool that helps prison facility managers and fire safety engineers achieve cost-effective

compliance with the widely-used Life Safety Code® of the National Fire Protection

Association. The latest version of the software (2.0) supports analysis of Detention and

Correctional Occupancies. Through a special provision of the code, ALARM implements

a goal-oriented, or performance-based approach to code compliance. The user specifies

the current safety level of the facility for each of 13 life safety parameters and then enters

quantity and size data on each of the safety improvements to be explored. The software

indicates whether the current safety level is in compliance with the code and, if not,

quickly finds the least-cost compliance strategy and its estimated construction cost. The

software takes into account the special conditions in the code that preclude finding

solutions by hand. A practice file with data from a sample facility, extensive help with a

step-by-step tutorial, a report utility for viewing and printing results, and a

comprehensive file manager are included. The optimization method used in ALARM has

been field tested in 89 hospitals (17,898 beds). For this sample the least-cost solution

identified by the software was on average 41 % less expensive than the prescriptive

solution. This represents a potential cost savings of $2,116 per bed or over $37 million in

total.

Keywords: building codes; building economics; correctional facilities; cost

minimization, fire safety; life safety code; linear programming; mathematical

programming; optimization, prisons.
iv

Acknowledgments

The authors express special thanks and acknowledgment to the National Institute of

Justice and the NIST Office of Law Enforcement Standards for their generous support of

the technical research and software development effort that made this publication

possible.

The authors greatly appreciate the permission granted by Dennis Berry, Associate

General Counsel for the National Fire Protection Association (NFPA), to reprint material

from the Life Safety Code® in the User Manual and software help system. Users should

note that the reprinted material found in this publication is not the complete and official

position of NFPA on the referenced subject, which is represented only by the standard in

its entirety.

Special thanks are owed to Walter J. Jones of NIST for developing the comprehensive

help system; designing the graphics for the welcome screen and the software icon, and

conducting extensive tests on early versions of the software. Thanks is also extended to

Robert Chapman of NIST, who developed the original linear programming model and

software application on which the cost minimization method is based. Credit is also due

to Michel Berkelaar of Eindhoven University of Technology (Netherlands) for putting

into the public domain his efficient software code, lp_solve, which includes the module

for solving zero-one integer programming problems that we adapted for ALARM 2.0.

We are indebted to Harold Nelson, Edward Budnick, and Shivani Mehta of Hughes

Associates, Inc. of Columbia MD for supplying detailed construction specifications as

well as cost estimation algorithms and data for the improvements in fire safety levels.

Harold Nelson is the major force behind development of the Fire Safety Evaluation

Systems for various building occupancies found in NFPA 101A. He also provided many

useful comments on early versions of the software and developed the case study for the

sample file used in the tutorial.

The authors thank Robert J. Verdeyen, Director of Standards and Accreditation at the

American Correctional Association (ACA), for help in finding beta testers. Beta testers

from correctional facilities in Maryland, Virginia, and Ohio provided many helpful

comments and suggestions. The authors also appreciate the help of Nancy Schwartz of

NFPA’s One-Stop Data Shop and of Gabriella Daley, Director of Communications at the

ACA, in distributing the software. The authors wish to thank Hayden Brown and Daniel

Madrzykowski of NIST for their thorough review of and constructive comments on the

User Manual, software, and text of the help file. Special thanks are owed to J’aime

Maynard for preparing the final version of the manuscript for publication.
v

Disclaimer on the use of non-metric units:

The policy of the National Institute of Standards and Technology is to use metric units of

measurement in all its publications. This publication, however, is intended for the fire

safety engineering and construction industries in the United States, where certain nonmetric units are so widely used instead of metric units that it is more practical and less

confusing to present construction dimensions, costs, and safety level definitions in

customary units.

Disclaimer on trade names:

Trade names are mentioned in this publication to specify products used in the software.

Such identification does not imply recommendation or endorsement by the National

Institute of Standards and Technology.

Notice of permission to reprint copyrighted material from NFPA 101A-2001:

Material in the help file and the Project Window of the software, appearing also as screen

shots in this User Manual, is reprinted with permission from NFPA 101A-2001, Guide on

Alternative Approaches to Life Safety, Copyright ©, National Fire Protection Association.

This reprinted material is not the complete and official position of NFPA on the

referenced subject, which is represented only by the standard in its entirety.
vi
vii

Table of Contents

Abstract..............................................................................................................................iii

Acknowledgments.............................................................................................................. iv

1.0 Introduction.................................................................................................................. 1

1.1 Purpose...................................................................................................................... 1

1.2 History ...................................................................................................................... 1

1.3 New Features ............................................................................................................ 1

1.4 Overview................................................................................................................... 2

2.0 Getting Started .............................................................................................................. 3

2.1 Installing ALARM 2.0................................................................................................ 3

2.2 Starting ALARM 2.0.................................................................................................. 3

2.3 Help System.............................................................................................................. 4

3.0 Starting a Project.......................................................................................................... 7

3.1 Creating a New Project ............................................................................................. 7

Project Information ......................................................................................................... 7

3.2 Opening an Existing Project ..................................................................................... 9

4.0 Understanding the Project Window............................................................................ 11

4.1 Layout ..................................................................................................................... 11

4.2 Color Coding........................................................................................................... 12

5.0 Data Entry .................................................................................................................. 15

5.1 Selecting an Initial Level ........................................................................................ 15

5.2 Data Entry ............................................................................................................... 16

6.0 Finding the Least-Cost Improvement Plan ................................................................ 19

6.1 Optimizing .............................................................................................................. 19

6.2 The Report .............................................................................................................. 20

7.0 Technical Background: How ALARM Finds the Least Cost Plan............................. 23

7.1 Linear Programming ............................................................................................... 23

7.2 Modeling the Interdependencies............................................................................. 24

7.3 The Zero-One Integer Programming Method......................................................... 24

8.0 Safety Improvements and Cost Data........................................................................... 27

8.1 Safety Improvements .............................................................................................. 27

8.2 Cost Data................................................................................................................. 27

8.3 Cost Algorithms...................................................................................................... 28

References......................................................................................................................... 29

Appendix A....................................................................................................................... 31
viii
1

1.0 Introduction

1.1 Purpose

The Fire Safety Evaluation System (FSES) for Detention and Correctional Facilities,

specified in Chapter 5 of the Guide on Alternative Approaches to Life Safety (NFPA

101A), provides the managers and fire safety engineers of these facilities with many

alternative compliance solutions that are equivalent in safety to the prescriptive version of

the Life Safety Code® found in NFPA 101®, Code for Safety to Life in Buildings and

Structures. The flexibility provided by the FSES allows for major cost savings in

achieving compliance with the Life Safety Code. The wide range of acceptable

compliance solutions and the many exceptions and interdependencies introduced by the

footnotes combine to make it virtually impossible to find the least-cost solution using

trial and error methods.

ALARM 2.0, Alternative Life Safety Analysis for Retrofit Cost Minimization, is a

software tool that helps prison facility managers, fire safety engineers, and architects

quickly find the most cost-effective plan to achieve compliance with the Life Safety Code.

ALARM 2.0 is a user-friendly, 32-bit Windows software program designed to help users

take full advantage of the flexibility offered by NFPA 101A. The ALARM tool allows

users to enter data about the physical dimensions of their facilities through an interface

that mirrors the main worksheet of NFPA 101A. The program then applies its cost

algorithms and unit cost data to estimate the cost of each safety improvement to be

considered. The cost estimates automatically vary by facility location using the built-in

geographic area cost factors of the nearest major city. Finally, the software quickly finds

the most cost-effective construction plan for achieving compliance with the Life Safety

Code.

1.2 History

The first version of ALARM was developed in the Building and Fire Research

Laboratory at the National Institute of Standards and Technology. The software generated

a set of alternative compliance strategies and their estimated construction costs for the

NFPA 101A for health care occupancies. The software used an optimization method that

has since been tested in 89 hospitals and compared to the cost of strict compliance with

the prescriptive code of the NFPA. Research done after the development of the first

version of ALARM showed a potential cost savings of $2,116 per bed for almost 18,000

beds, resulting in a total savings of over $37 million.

1.3 New Features

This latest version of ALARM (2.0) has integrated many improvements in modeling

techniques, interface design, and usability. Version 1.0 was a DOS program limited by its
2

text only, 16-bit platform. ALARM 2.0 takes full advantage of the 32 bit, graphical

Windows platform. This has allowed for speedier optimization and improvements in

user-friendliness. The main Project screen is directly based on the design and layout of

the key worksheet of the Life Safety Code. The more powerful platform has also

facilitated the use of the new optimization algorithm included in this version.

Another significant feature of ALARM 2.0 is that almost all of the descriptive text, safety

parameter definitions, code and point requirements, and cost data are contained in data

files that are independent of the executable program. As a result, a new set of data files is

all that is needed to efficiently incorporate changes in code requirements and cost data. In

addition, this software design will enable rapid development of new releases of ALARM

that cover occupancies other than Correctional Facilities, such as Business, Health Care,

and Board and Care occupancies.

1.4 Overview

This manual provides instructions on getting started with ALARM 2.0 and setting up new

projects for analysis. To show the many features of ALARM, a demonstration case is

included with the software as a sample project file. To learn to use the software, practice

each instruction in Chapters 2 through 6 of this manual using the sample project file,

State Penn.fse. Chapter 7 provides information on the economic and mathematical

methods the software uses to determine the least-cost safety improvement plan. Chapter

8 discusses the fire safety improvements and cost data and cost estimating algorithms

used in the software.
3

2.0 Getting Started

2.1 Installing ALARM 2.0

To install ALARM 2.0, insert the CD-ROM into your drive and close the CD drawer.

Wait a few seconds for the AutoRun feature to execute the Setup.exe installation

program. You will be asked to confirm the drive and installation folder for ALARM.

Click on the OK button to begin the process of copying all the files to the installation

folder on your hard drive. Once the files are copied you are ready to start the ALARM

software. If the AutoRun feature is disabled on your computer, simply click on the Start

button and select Run. Then type the command “d:\setup.exe,” substituting for “d” the

letter assigned to your CD-ROM drive, to execute the Setup.exe installation program

directly from the CD-ROM drive.

2.2 Starting ALARM 2.0

To start ALARM 2.0, use the My Computer icon to open the ALARM folder and double

click on the file labeled Alarm.exe. In a few seconds, the ALARM welcome window will

appear.

ALARM Welcome Window
4

The welcome screen presents the user with four options: New Project, Existing Project,

Help and Exit. New Project and Existing Project are discussed in the following section.

Help will open the Help Window to ALARM’s Online Tutorial. The help system also

provides users with information on the Life Safety Code and instructions on using the

software. Complete documentation of the Help system can be found below. The final

button, Exit, shuts down ALARM.

2.3 Help System

The help system was designed to provide the user with a reference on running ALARM

and a resource for looking up the definitions of safety parameters and safety levels taken

from the NFPA documentation on the Life Safety Code. Help can be accessed from

several places in ALARM, starting with the Welcome Screen, where the user can press

the Help button.

The Help Button

Help may also be found in the Menu Bar by selecting Help and then Contents, or by

pressing the F1 key.

Note on Screen Resolution: Due to the large amount of information displayed on the

main screen, ALARM, runs best at a screen resolution of 800x600 or higher. If the

program does not fully display on your desktop, the resolution is probably set too low.

To increase the resolution, press the Start button and select Settings and Control

Panel. Select the Display icon in the control panel. The Settings tab will allow you to

reset the resolution. In the box titled Desktop Area move the pointer to the right until

it reads 800 by 600 resolution. To accept the new resolution, press the OK button.

You may need to reboot for the settings to take effect.
5

Help Menu

The above methods open the main help page which describes the ALARM software and

accesses the tutorial.

The other method of accessing the help system is to use the context sensitive feature by

selecting Help from the drop down menu of a safety level.

Safety Level Specific Help

When help is accessed with this method, the help system takes you directly to the

documentation on the specific safety parameter that was clicked. From there,

documentation on choosing the correct safety level can be viewed.
6

The Help System

The Help system includes a tutorial that is designed to help a new user learn how to

operate ALARM. The documentation for the tutorial is based on this manual. The

Project Information section of the help system provides documentation about the data

needed to start a new project, such as use condition and number of stories. The

parameters section is based on NFPA documentation regarding the 13 safety parameters.

This section should be used to help select the Initial Safety level and the safety levels to

be considered for analysis for each safety parameter.

The help system can be navigated by browsing through the outline in the contents panel

on the left side of the help window. The help documentation itself also contains links to

information relevant to the displayed topic.

The help system may also be searched for a specific keyword or term. To search, select

the Search Tab on the left side of the window, and enter the term. All references to the

key term will be listed. Double clicking on a reference displays that topic.
7

3.0 Starting a Project

3.1 Creating a New Project

A new project can be created by either pressing the New Project button on the Welcome

Window or by selecting File menu on the menu bar and then New on the drop-down

menu. To create a new project you need to answer several questions about the facility to

be analyzed using the two Project Information Windows:

 

 Window 1 Window 2

Project Information

The first section of Window 1 asks for background information about the project. You

may use any convenient name for the project title. ALARM uses your title as the file

name plus an “FSE” (Fire Safety Evaluation) extension for storing the project data. Enter

the state where the facility is located, and a list of cities will appear to the right. The

construction cost estimates developed by ALARM are based on geographic location

factors to provide the most accurate cost estimates. Select the city that most closely

resembles the facility location in terms of construction costs. The final listbox asks the

user for the number of stories. Number of Stories is the number of floors that are

occupied by inmates. For a more precise definition and help in determining the number of

stories in your facility, press the Help button. A help screen will appear providing the

NFPA’s definition of Stories.
8

Next enter the Use Condition of the facility. As before, the Help button opens a page in

the help file designed to assist in determining the proper Use Condition as defined by the

NFPA.

After all information has been entered press the Continue button to move to the second

Project Information Window. If a message box appears warning of missing data, press

OK and recheck the previous entries to make sure all data were entered correctly.

The second Window lists a set of statements that may be true about the facility. The Help

button provides definitions of all the statements to assist the user in choosing the correct

options. Mark the check boxes that apply to the facility. The Back button allows the user

to change any data entered on the first page if necessary. Once all data have been entered

correctly in both Project Information screens, press the Create button to finish creating

the new project.

Once the project has been created, the data entered in the Project Information screens

cannot be changed without creating a new project file. The user may view the project

information data at any time after creation by selecting the Edit item on the menu bar,

and then choosing the View Project Information option from the drop-down menu.

Project Information Window
9

3.2 Opening an Existing Project

There are two methods of opening existing projects. You may select the Existing Project

from the Welcome Window or the Open option from the File menu. Both methods will

display the dialog window, Select a Safety Evaluation File to Open.

Selecting an Existing File to Open

This dialog window lets you select any one of your project files. They all have the

extension *.FSE (Fire Safety Evaluation).
10
11

4.0 Understanding the Project Window

4.1 Layout

Once a new project is started or an existing file is opened, a new window appears called

the Project Window. For a new project, the window appears as a clean slate, with no

safety level boxes color coded and no construction costs or points displayed.

New Project Window

The Project Window is designed to mirror Worksheet 5.5.3: Safety Parameter Values,

from NFPA 101A. At the top of the window the title of the current project is displayed.

There are 13 rows in the worksheet, each representing a safety parameter. Each parameter

row has a set of labeled boxes, representing all the safety levels possible for that

parameter.

The right side of the window provides a tally of the points earned in the project. The four

columns are titled “S1,” “S2,” “S3,” and “S4.” These are derived from the weighting

factors in Worksheet 5.5.4 of the NFPA 101A and represent the four safety evaluation

goals, Fire Control (S1), Egress (S2), Refuge (S3) and General Fire Safety (S4). The
12

box at the end of each safety parameter shows the points earned by that parameter for

each of the point evaluations. The points are tallied at the bottom of each column.

Point Tally

The Point Tally consists of three rows. The first is Points Earned, which displays the sum

of all the points earned from the selected Initial Safety levels. Because this is a new

project the points earned are initially zero. The next row, Points Needed, displays the

points required to achieve compliance with the Life Safety Code, based on the Mandatory

Safety Requirements specified in Worksheet 5.5.5. The final row shows the point

Deficit, computed by subtracting the Points Needed from the Points Earned. Once all the

minimum point requirements are achieved the final row will show a Surplus.

4.2 Color Coding

Once data have been entered, the appearance of the Project Window changes to reflect

the new information. Below is an image of an Existing Project with some data entered.

Existing Project Window
13

The colors on the screen, allow you to quickly interpret data in the box. ALARM

provides a convenient reference to understanding the color scheme in the Legend

Window.

Legend Window

To view the Legend Window, select Edit from the menu bar and choose Show Legend.

The Legend Window explains the color-coding on the main window. A safety level

marked white is the Initial, or current safety level of the facility. Dark gray safety levels

have been Excluded from the analysis. ALARM automatically marks safety levels as

Excluded if they have a lower point value than the Initial level or if there is no feasible

way to improve safety from the Initial to the Excluded level. You may also mark as

Excluded any safety level that you do not want to consider in your safety improvement

plan. Yellow safety levels are achievable from the Initial safety level, but are missing

quantity and cost. Green safety levels contain data and will be considered in the analysis

when the project is optimized. Aqua levels signify the optimum safety levels and will

only appear after the Optimize function under the Compute Menu finds the least-cost

compliance plan.

In addition to providing a comprehensive overview of the facility’s status, the Project

Window is also used for data entry. To see how the window is used to collect data about

your facility continue to the next chapter.
14
15

5.0 Data Entry

5.1 Selecting an Initial Level

A sample project file with most of the necessary data already entered has been provided

to assist you in the data entry process described in this chapter. Open the file “State

Penn.FSE” to display the tutorial in the Project Window.

Project Window

To mark the initial safety level, you may either right click or double click on the desired

safety level box. Double clicking immediately sets the initial safety level. Right clicking

leads to a menu allowing the initial safety level to be set.
16

Setting an Initial Level

Another choice on the drop-down menu is Help. Help can assist you in identifying and

selecting the Initial safety level. When selecting Help the help window displays

documentation on the relevant safety parameter. The documentation includes tips on

identifying your Initial safety level and definitions relevant to the safety levels of that

parameter. The documentation directly quotes relevant parts of the NFPA codes.

Once a Initial safety level has been set for a parameter, you will notice changes in the

boxes for all safety levels of that parameter. Double click now on the Class B box for

Parameter 6. The Class B box has turned white to indicate its status as the Initial or

current safety level. The Class C level has been disqualified because it has a lower point

value than the Initial level. The Class A is yellow indicating that it is possible to improve

safety from Class B to Class A, but that quantity and cost data have not yet been entered.

The points columns at the far right have been updated. Now instead of zeros, four

numbers are displayed representing the point values earned toward the four safety goals

(S1: Fire Control, S2: Egress, S3: Refuge, and S4: General Fire Safety) as a result of

being at the selected Initial safety level. The change is also reflected in the totals for

Points Earned and Deficit/Surplus at the bottom right of the screen.

Initial Level Set

5.2 Data Entry

Once the Initial safety levels have been marked, data on the scale of the safety

improvements are needed to complete the optimization. As mentioned above, yellow

safety levels are those awaiting data. To enter data, right click on the safety level to

activate the drop down menu and select the Enter Data option. The box will temporarily

turn red to identify it as the safety level being worked on, and a window titled

Measurements Needed to Estimate Cost will appear.
17

Measurements Window

This window lists all measurements needed to estimate the costs of safety improvements.

Enter the Area of interior finish in corridors to be removed, the area to be coated and the

area to be covered. In this case the initial quantity is zero, but if there is another number

in the quantity slot, it is based on information entered earlier, possibly for another safety

level whose cost depended on the same measurements. A warning: If you change such

pre-existing data, previously computed cost estimates will also change. For this

tutorial, enter 33,000 for all three of the quantities.

Once the data have been entered, press OK to display the Alternatives Window, which

lists all the construction alternatives to improve the Initial safety level to the new, higher,

safety level.

Alternatives Window

The Alternatives Window shows a description of each alternative with its estimated cost.

To see more information about any alternative and its cost estimate, click on the Review

button to display the Cost Estimates Window.
18

Cost Estimates Window

The Cost Estimates Window offers an itemized description of all tasks needed to

complete the alternative. This example has only one task, but alternatives can be more

involved. There is a unit cost and quantity breakdown for each task. You may override

the total cost of the alternative. Once you are satisfied with the cost estimates, click the

OK button to return to the Alternative window. If the estimate was overridden, the

change will be reflected in the Alternative window. The cost estimates provided by

ALARM take the geographic location of the facility into account.

Once back in the Alternatives Window you should select which alternative is to be used

in the analysis. Once the alternative is selected, click the OK button. The box of the

safety level will change from red to green, and the cost estimate of the selected

alternative will be displayed in the box. If you chose the least-cost alternative, “Remove

Class B materials...” the Interior Finish safety parameter will look like this:

Data is Entered and Cost is Displayed

If, on the other hand, you reviewed the alternatives and decided that none were feasible

for the project, you may select Disqualify State. This will turn the safety level box dark

gray and remove that safety level from consideration in the optimization.

Now select an initial state and enter data for safety Parameter 8. At this point all thirteen

of the Initial safety levels have been marked, and data have been entered for all the safety

levels to be considered. The next step is optimization to find the least cost improvement

plan.
19

6.0 Finding the Least-Cost Improvement Plan

6.1 Optimizing

Optimizing is the mathematical procedure that ALARM uses to find the least-cost method

of achieving compliance with the Life Safety Code. The software will not allow you to

optimize until all thirteen Initial safety levels have been marked. The optimization

procedure considers all green safety levels as possible improvements from the Initial

safety levels. The program interprets yellow levels as disqualified because there are no

cost estimates for implementing those safety levels. To start the optimization procedure,

click on the Compute menu and select the Optimize item.

How to Optimize

The screen refreshes and the answer is displayed using color-coded safety level boxes.

The Least-Cost Compliance Plan
20

The yellow and green safety levels have been recolored either dark gray or aqua. Aqua

indicates a safety level improvement that is included in the least-cost construction plan to

reach compliance. In the least-cost plan displayed here, five improvements are needed to

satisfy the total points required for all four of the safety goals. In Parameter 2: Hazardous

Areas you need to upgrade from a double deficiency outside housing areas to a single

deficiency. The second improvement in Parameter 3: Fire Alarm requires moving from

No Manual Alarm to a Manual Alarm with Fire Department Notification. The third

improvement in Parameter 8 calls for moving from Open space to Smoke Resistant < 1

hour. In Parameter 9 you need to improve from Smoke Resistant < 1 hour separation to

>= 1 hour Fire Resistance. Finally, in Parameter 12: Vertical Openings you must upgrade

from Smoke Resistant Enclosure to Fire Resistant Enclosure.

Other information provided on this screen is the Total Optimum points, bottom right, and

the Cost of Optimal Solution, top center banner. The former shows the total points

earned by the least-cost compliance plan toward each safety goal. Note that now there is a

positive or zero Surplus of Points Earned over Points Needed for all four of the

mandatory safety goals of the Life Safety Code. The latter is the total cost of all

improvements in the least-cost compliance plan.

Once the project has been optimized, no more data can be entered. To modify the data

and redo the analysis, first save the project under a different file name, open that new file,

edit the data or add new data, and then re-optimize.

6.2 The Report

Once optimization is complete ALARM takes the data that you have entered and

compiles a comprehensive report on the Least Cost Construction Plan for the Facility.

ALARM then asks if you would like to view the facility report. The report may also be

viewed by selecting the Compute Menu and choosing Report so that the Report Preview

Window appears.
21

Report Preview Window

The report is composed of five separate sections. A sample report showing the

optimization of State Penn.fse is included as an appendix. The first page provides a basic

overview of the report explaining all five sections. It also prints out the information

about the facility entered in the initial Project Information windows. Click on the “+”

symbol at the bottom left to display page 2 of the report.

The second page of the report provides the safety levels and safety evaluation points

earned for each parameter and safety goal, both for the initial condition of the facility and

for the proposed least-cost plan for achieving compliance.
22

The third page is a summary of the construction plan. The table illustrates the actions

that must be implemented to achieve Life Safety compliance. The page shows the cost of

implementation and the safety points gained for each improvement.

The fourth section provides a comparison of the least-cost safety levels found by

ALARM to achieve full Life Safety Code compliance using the FSES in NFPA 101A to

those that would be required by the prescriptive version of the Life Safety Code in NFPA

101.

The final pages describe in detail of the actions needed to achieve compliance. The

descriptions document each task, the task cost drivers, unit cost, number of units,

extended costs of the task, and the total cost of each action.
23

7.0 Technical Background: How ALARM Finds the Least Cost Plan

7.1 Linear Programming

Linear programming is a powerful mathematical method for solving the problem of

allocating limited resources among multiple competing activities. This method has been

used to allocate production resources, plan shipping routes, assist in agricultural planning,

and even design radiation therapy techniques. Linear programming uses a mathematical

model to describe the problem of interest. The model is constructed of a series of

mathematical linear functions. The model is then systematically solved to find the

optimal solution.

Linear programming is the ideal tool to be used in identifying the least-cost construction

plan for achieving compliance with the Life Safety Code because the safety goal

requirements are all based on a linear summation of points earned by each safety

parameter. ALARM uses a linear programming model to cost-effectively allocate a

limited construction budget among competing activities by searching through all possible

combinations of safety improvements that will satisfy the compliance requirements of the

Life Safety Code.

To address the Life Safety Code a special type of linear programming, called zero-one, is

implemented in ALARM. The zero-one approach is used when each of the choice

variables are either true or false. In this model the choice variables are all of the

individual safety levels of all the 13 safety parameters. A level is either selected for

inclusion in the compliance plan or it is not. Each safety parameter is represented by one

equation in the model. Each equation consists of the sum of all the safety level variables

in the parameter being set equal to one. For instance, the equation for Parameter 5 would

look like this:

X5,1 + X5,2 + X5,3 = 1

Note that in this zero-one model, each of the X’s can take on only the values zero or one.

Thus setting the equation equal to one ensures that one and only one of the safety levels

can be included in the compliance plan. This is true for all 13 safety parameters.

The four safety goals of Fire Control (S1), Egress (S2), Refuge (S3), General Fire Safety

(S4) are modeled in a similar way using the special weighting factors from Worksheet

5.5.4: Individual Safety Evaluations of the Life Safety Code. In this case there are four

equations, one for each safety goal. The left-hand side of each equation is the sum of the

products for all safety level variables over all 13 safety parameters of the points for each

level times the corresponding weighting factors (0, 1, or 0.5) in Worksheet 5.5.4. Each of

these linear expressions is set equal to the required number of points for each safety goal

found in Worksheet 5.5.5: Mandatory Safety Requirements.

The objective function to be minimized is the cost function defined by summing the

products of all safety level variables times their construction costs across all 13 safety
24

parameters. In this way, only the costs of those safety variables included in the solution

(i.e., with values equal to one rather than zero) would be included in the total cost

computation.

7.2 Modeling the Interdependencies

The nine footnotes found at the bottom of Worksheet 5.5.3 presented a special challenge

in the modeling of the Life Safety Code for prisons. These footnotes indicate

circumstances that trigger alternative point values for many of the levels as shown in the

parenthetical values in the body of the Worksheet. The conditions can be classified into

two types, predetermined and interdependent, depending on whether or not the truth

value of the condition can be changed within the model by changes in the values of the

safety level variables. Predetermined conditions are those which it is assumed the

building manager cannot alter when trying to improve the point score of any safety

parameter. Examples of predetermined conditions are the number of floors, construction

type, whether the building is new or existing construction, and if the cells are facing an

access corridor. Interdependent conditions are those that are affected by the safety level

of other parameters. For instance, any safety level whose points depend on the value of

Parameter 5 is considered to be affected by an interdependent condition.

Each footnote lists one or more conditions that are used to determine the alternative

parenthetical point value that should be awarded for that safety level. To evaluate an

interdependency, an equation or series of equations is created using the primary safety

level variable and a special parenthetical variable. Each equation is entered as an

additional row in the large linear matrix. These additional equations determine the truth

value of the conditions and activate the appropriate (either the primary or the alternative

parenthetical) point value for the safety level. The point values of each of the primary and

parenthetical variables are included in safety goal equations at the bottom of the matrix.

7.3 The Zero-One Integer Programming Method

Once the zero-one integer programming model for the Life Safety Code and its many

footnotes was constructed, software code to efficiently solve the set of equations was

sought. Public domain computer code written in the C programming language, called

lp_solve, was identified and evaluated for robustness and efficiency in solving zero-one

problems. The original versions of the code up through version 1.5 were written by

Michel Berkelaar of the Eindhoven University of Technology in the Netherlands.

Revisions of the code up to the current version (2.3) used in ALARM were developed by

Jeroen Dirks. The code has been successfully tested on many different models including

very large ones involving 30,000 variables and 50,000 constraints. The code addresses

zero-one integer problems using a version of the Branch and Bound algorithm widely

cited in the operations research literature.

Before incorporating the lp_solve code into the ALARM software, we tested it on over

200 projects involving the Life Safety Code for health care facilities that had already been

solved using the previous version of ALARM. The previous solutions were based on a

two-stage process involving the Revised Simplex Method to solve the non-integer
25

version of the problem and then applying heuristic techniques to estimate the true integer

solutions. The solutions obtained using lp_solve were either as low or lower in cost than

the solutions previously found. Once the accuracy and efficiency of lp_solve were

confirmed by these tests, we adapted the code and compiled it as a Dynamic Link Library

(DLL) file which is called directly from ALARM 2.0. The DLL function receives as a

parameter the large integer matrix of the model that is built from the data entered in the

Project Window. The function returns an array of the (non-zero) safety level variables

that are included in the least-cost solution. The solution array that defines the least-cost

compliance plan is then shown in the Project Window by coding the improved safety

levels in the aqua color.
26
27

8.0 Safety Improvements and Cost Data

While the safety levels of the FSES are defined as a part of the NFPA 101A for detention

and correctional occupancies, the construction methods used to improve from one level to

another are not explained in the NFPA code. A major feature of ALARM is the detailed

description of the tasks and costs associated with making improvements in safety levels.

To find accurate safety improvements, Hughes Associates Inc, a fire and safety

engineering firm in Baltimore, MD, was contracted to assist in developing a complete list

of safety improvements and to collect cost data needed for the improvements.

8.1 Safety Improvements

A comprehensive list and detailed specifications for all fire safety improvements that

apply to each of the thirteen fire safety parameters included in NFPA 101A was

compiled. The analysis was performed for each parameter to determine the various

methods available for upgrading from an existing condition to each condition having a

higher score. Where more than one method was available, each method was listed.

Unit terms (i.e., Cost Drivers) such as linear feet, square feet, or quantity were

determined for and assigned to each element of the tasks associated with a candidate

upgrade. Typical elements included doors and frames, smoke detectors, sprinklers, and

interior finish. In cases where an upgrade required two or more separate elements, the

term for each of these items was identified separately but marked as being linked to the

specific upgrade. For example, in Parameter 13 the provision of a “Heat and Smoke Vent

System” required both the actual smoke removal system and an automatic smoke

detection system to initiate smoke control.

8.2 Cost Data

Most materials and labor cost data for safety improvements were collected by Hughes

Associates from R.S. Means, Means Facility Cost Data, 1999, R. S. Means Company:

Kingston, MA, a nationally recognized source of data for construction cost estimation.

Minor refinements were made in some of the estimates based on feedback from inquiries

to several organizations familiar with detention and correctional facility construction

costs. This information was obtained by contacting several government as well as private

correctional organizations, including the following: National Institute of Corrections,

American Correctional Association, National Sheriffs’ Association, and Maryland

Department of Corrections, Capital Construction Division.

For some safety improvement tasks the baseline data available from R. S. Means did not

provide adequate detail. For such special cases as retrofitting a fire alarm system,

automatic sprinklers or a smoke removal system, manufacturers and installers were

contacted directly to obtain supplemental cost estimates.

The data were based on construction costs for the Washington DC/ Maryland suburban

area. ALARM automatically adjusts all cost data to the locality of the facility. When the
28

zip code is entered at the creation of a new project, all costs are adapted for the

geographic location of the facility. Some improvements require cost estimates that are

very region specific, such as the creation of a water supply. In these rare cases the user is

asked to obtain a specific cost estimate.

8.3 Cost Algorithms

The cost algorithm used to estimate the costs associated with a specific safety

improvement are based on the unit cost of each driver and the element quantity needed.

The basic form of the algorithm took the following form:

Total Upgrade Cost = ∑ Unit Cost of Driver* Element Quantity, summed over all

tasks required to achieve the safety upgrade.

Unit Cost of Driver = The labor and materials costs for each dimensional unit or count of

the element or task involved in the upgrade.

Element Quantity = The quantity of each element (number of dimensional units or count)

required to be installed to achieve the design upgrade and qualify under NFPA 101A for

the upgraded state and score being sought.

The total upgrade cost is the summation of the costs of all of the elements associated with

a particular upgrade.

Some safety improvements, such as sprinkler or smoke detection installation, required

more complex algorithms. These cases can be seen in ALARM where special calculators

are necessary to determine the number of units of each cost driver needed. These

algorithms were also designed by Hughes Associates.
29

References

Berkelaar, Michel, lp_solve.c, version 2.3 (February 24, 1999), Eindhoven University of

Technology, Department of Electrical Engineering, Eindhoven, Netherlands.

Chapman, Robert E., “Assessing the Costs of Fire Protection in Health Care Facilities,”

Fire Safety Journal, Vol. 9, No. 2, 1985, pp. 221-231.

Chapman, Robert E. and Hall, William G., Programmer's Manual for the Fire Safety

Evaluation System Cost Minimizer Computer Program, National Bureau of Standards,

NBSIR 83-2749, Washington, DC, 1983.

Chapman, Robert E. and Hall, William G., “Code Compliance at Lower Costs: A

Mathematical Programming Approach,” Fire Technology Vol. 18, No. 1 (February

1982), pp. 77-89.

Chapman, Robert E. and Hall, William G., A Computerized Approach for Identifying

Cost-Effective Fire Safety Retrofits in Health Care Facilities, National Bureau of

Standards, NBSIR 79-1929, Washington, DC, 1980.

Gass, Saul I., Linear Programming: Methods and Applications, 4th edition, McGraw-Hill

Book Company: New York, 1975.

Hillier, Frederick S. and Lieberman, Gerald J., Introduction to Operations Research, 3rd

edition, Holden-Day, Inc.: San Francisco, 1980.

National Fire Protection Association, “Fire Safety Evaluation System for Detention and

Correctional Facilities,” Chapter 5 of NFPA 101A, Guide on Alternative Approaches to

Life Safety, 2001 edition, Quincy, MA, 2001.

National Fire Protection Association, NFPA 101, Life Safety Code, 2000 edition, Quincy,

MA, 2000.

Nelson, Harold. E. and Shibe, A. J., A System for Fire Safety Evaluation of Health Care

Facilities, National Bureau of Standards, NBSIR 78-1555, Washington, DC, 1980.

R. S. Means, Facilities Cost Data, 1999, R. S. Means Company: Kingston, MA, 1999.

Weber, Stephen F. and Lippiatt, Barbara C., “Cost-Effective Compliance with Life Safety

Codes,” Fire Technology Vol. 32, Number 4 (Nov/Dec 1996).

Weber, Stephen F. and Lippiatt, Barbara C., ALARM 1.0: Decision Support Software for

Cost-Effective Compliance with Fire Safety Codes, National Institute of Standards and

Technology, NISTIR 5554, Gaithersburg MD 20899, December 1994.
30
31

Appendix A
32
33
34
35
36
37