Formalizing Construction Sequencing Constraints for Rapid Generation

advertisement
CENTER FOR INTEGRATED FACILITY ENGINEERING
Formalizing Construction
Sequencing Constraints
for Rapid Generation
of Schedule Alternatives
By
Bonsang Koo and Martin Fischer
CIFE Working Paper #75
January 2003
STANFORD UNIVERSITY
Copyright © 2003 by
Center for Integrated Facility Engineering
If you would like to contact the authors, please write to:
c/o CIFE, Civil and Environmental Engineering Dept.,
Stanford University
Terman Engineering Center
Mail Code: 4020
Stanford, CA 94305-4020
2
Formalizing Construction Sequencing Constraints for Rapid Generation of
Schedule Alternatives
Bonsang Koo, Martin Fischer
Abstract
Construction planners today use CPM-based schedules to represent the planned logical sequence of
activities to perform a project. A construction schedule typically represents the sequence of multiple trades
that perform individual work while sharing common workspaces or resources. The logic or “rationale”
behind activity sequences of these schedules can include physical relationships between components (e.g.,
supported by), trade interactions (e.g., workspace competition) or safety and code regulations (e.g.,
testing). Due to changing project demands, planners frequently need to modify activity sequences during
the course of a project. More than one alternative can exist, and hence planners need to develop and
evaluate alternative sequences correctly and rapidly to make well-informed decisions.
When developing sequencing alternatives, planners need to understand the physical or technical “role” an
activity plays on following activities. They also need to distinguish between activities that may or may not
be delayed. Planners infer the role and “status” (i.e., whether an activity may be delayed) of activities
based on the initial rationale and flexibility of the constraints between activities. However, the current
CPM framework only distinguishes the temporal aspects of constraints (e.g., FS precedence relationship)
and only distinguishes the time-criticality of activities. Consequently, determining the role and status of
activities can only be performed in the planner’s minds. Hence, identifying and developing sequencing
alternatives using CPM-based schedules is today an error-prone and time-consuming process.
In this paper, we introduce research to determine how sequencing constraints can be represented to enable
planners to describe rationale accurately. We also introduce an activity classification mechanism that can
be used by a computer system to automatically determine the role and status of activities. We describe a
formalized process that utilizes the representation and classification mechanism to assist planners in
developing sequencing alternatives correctly and accurately. Finally, we discuss the necessary research to
validate the generality and power of the proposed approach more fully.
3
Introduction
Construction planners typically rely on CPM (Critical Path Method) based schedules to schedule and
coordinate the work of the multiple disciplines on a project. During the course of a project, planners
frequently need to modify activity sequences to meet changing demands. In particular, planners need to
coordinate multiple trades often working in limited workspaces to ensure that intermediate milestones are
met and that components are installed in a timely manner to maximize the workflow of follow-on work
(Ballard and Howell 1997, Tommelein and Ballard 1997). To determine an appropriate sequence of
activities for trades to work, planners need to develop and evaluate different sequencing alternatives.
When developing sequencing alternatives, planners need to determine the physical or technical impact or
“role” an activity has on following activities. They also need to determine which activities may or may not
be delayed. Distinguishing the role and “status” (i.e., whether an activity may be delayed) of activities in
turn requires planners to understand the rationale and flexibility of constraints between activities.
However, the current CPM framework only represents the temporal aspect of constraints using precedence
relationships (e.g., FS, SS etc.). In addition, existing schedule acceleration techniques such as time-cost
trade-off assume that activity sequences are fixed and hence are not applicable for developing sequencing
alternatives (Antill and Woodhead 1990). Consequently, identifying and developing sequencing
alternatives using CPM-based schedules is currently an error-prone and time-consuming process. This
paper introduces our research to date in determining how planning rationale can be formalized and utilized
in identifying the role and status of activities to assist planners in developing sequencing alternatives
correctly and rapidly. We investigated existing approaches for classifying and representing sequencing
rationale. We also investigated existing activity classification schemas and also existing CPM based
schedule acceleration techniques, namely time-cost trade-off analysis and resource allocation techniques.
In addition, we conducted paper-based experiments using a section of a CPM schedule for a
semiconductor fabrication plant. Based on the research, we were able to formalize a constraint ontology,
an activity classification mechanism, and generalized processes for expediting the re-sequencing process.
The paper introduces these formalizations, and also discusses how we propose to test the generality and
power of the ontology and mechanisms in enabling planners to produce schedule alternatives more
quickly and accurately than possible with traditional CPM tools. The following section describes a test
case that illustrates the practical motivation for this research.
Case example illustrating the need for explicit sequencing
We use the Central Utility Building (CUB) from Intel’s FAB 22 project to illustrate the practical need for
formalizing sequencing rationale. Intel requested that the FAB 22 construction be accelerated from a 15month duration to 12 months. This acceleration and design changes, differing site conditions, and
procurement delays required frequent re-sequencing of the construction schedule for all areas of the
project. For example, installation of piping and equipment in the FAB could not start until the process
pipes were installed and connected between the CUB and the main fabrication building, i.e., the process
pipes needed to be installed as early as possible. Figure 1a shows the initial schedule for constructing the
foundation, structural frame and process pipes of the CUB. To install the process pipes earlier than
scheduled originally, the general contractor reversed the sequence between the activities Apply
Fireproofing B and Install Process Pipes B, i.e., the planner elected to delay the Apply Fireproofing B
activity so that the Install Process Pipes B could be performed earlier (Figure 1b). This change required
the Fireproofing trade to wrap the process pipes to provide protection from the fireproofing material. This
alternative did not result from a thorough investigation of possible sequence alternatives available to the
general contractor.
Construction planners frequently have to modify activity sequences to coordinate multiple trades that
share limited resources and workspaces (Riley and Sanvido 1995). Since, typically, more than one
alternative exists, the ability to generate different sequencing alternatives quickly would allow planners to
make better-informed decisions. The generation of each alternative requires planners to identify activities
4
that can or cannot be delayed so that the critical path leading up to the activity that needs to be completed
earlier can be shortened, update the change in the schedule and evaluate the impact of the change.
However, planning decisions are often made without the evaluation of possible sequencing alternatives.
This is in part due to the difficulty in generating and evaluating sequencing alternatives using existing
CPM-based scheduling tools, since the CPM framework only distinguishes activities with respect to their
time-criticality. It is, therefore, difficult to modify sequences using CPM-based tools rapidly and correctly
because current scheduling tools and existing theory do not enable planners to represent their sequencing
rationale in a way that supports the rapid generation of schedule alternatives.
For example, the initial rationale for sequencing pipe installation work after fireproofing the frames in
zone B was to prevent damage to the pipes. The rationale for sequencing pipe installation work after frame
erection in zone B was because frames provide support for the process pipes. Borrowing nomenclature
commonly used in the literature (Darwiche et al. 1988, Echeverry et al. 1991, Kähkönen 1993, Aalami and
Fischer 1998a), Figure 2a shows the rationale for these activity sequences denoted as damaged by and
supported by constraints, respectively.
Figure 1b: Revised schedule.
Figure 1a: Original schedule.
Figure 1: Original and revised schedules for Central Utility Building showing the installation sequence
of foundation, structural frame, fireproofing, and process pipes. Trades work from zone A to B and C.
The time-scaled logic diagram used to represent the CPM schedule uses precedence relationships
(i.e., FS, SS, etc.) to describe the sequence relationships or constraints between activities.
Planners need to understand the rationale for constraints to determine the “role” activities have on
following activities. For example, the supported by constraint between the activities Install Process Pipes
B and Erect Frame B implies that the activity Erect Frame B is “enabling” since it provides physical
support for the process pipes (Figure 2a). Similarly, the damaged by constraint between the activities
Apply Fireproofing B and Install Process Pipes B implies that the activity Apply Fireproofing B is
“impeding” the installation of process pipes. As the example shows, planners need to know the rationale
for constraints to infer the role of activities with respect to the activity requiring earlier execution (Install
Process Pipes B). We generalize the role of sequencing constraints as “enabling” or “impeding”. For
example, the supported by constraint is an enabling type, and the damaged by constraint is an impeding
type of constraint (Figure 2a).
5
Figure 2a: Role of activities based on
Figure 2b: Status of activities based on flexibility
of constraints.
constraints.
Figure 2: Role and status of activities based on constraints. TA = target activity.
In addition to the rationale of constraints, planners also need to know whether a constraint may or may not
be relaxed. The “flexibility” of a constraint is project-specific, i.e., depends on the particular
circumstances (e.g., availability of labor and materials) of a project. For example, the supported by
constraint in the case example happened to be inflexible (Figure 2b). However, the constraint could be
flexible if temporary support could have been provided. Flexible constraints can have varying levels of
flexibility (Echeverry et al. 1991). For example, relaxing the damaged by constraint of the test case
requires performing additional work (i.e., providing protection for the process pipes). The rationale for
sequencing the activities Erect Frame A and Erect Frame B sequentially (instead of concurrently) is
because of limited resources. The framing trade can work in only one zone at a time. Figure 2b shows this
rationale as a resource constraint. Relaxing the resource constraint may simply require that the framing
trade start work at a different location. In this case, the resource constraint has a relatively higher “degree
of flexibility” (DOF) than the damaged by constraint. Hence, constraints need to be distinguished as
“flexible” or “inflexible”. For flexible constraints, the degree of flexibility needs to be distinguished
qualitatively.
Planners need to understand the flexibility of constraints to determine whether an activity is “driving” or
“non-driving” with respect to the target activity, i.e., the activity requiring earlier execution. We define a
driving activity as an activity that cannot be delayed without delaying the target activity. For example, the
activity Apply Fireproofing B is a critical activity (i.e., zero float). However, the damaged by constraint is
flexible, i.e., Apply Fireproofing B can be delayed. Hence, the activity is “non-driving” (Figure 2b).
Similarly, the activity Erect Frame B is also a critical activity. Although the supported by constraint
between the activities Erect Frame B and Install Process Pipes B is inflexible, the activity Erect Frame B
can still be delayed by relaxing the damaged by constraint between the activity Apply Fireproofing B and
the activity Install Process Pipes B. Hence, the activity Erect Frame B can also be delayed and is also a
“non-driving” activity. We use the term “status” to describe whether an activity is “driving” or “nondriving”.
Figure 3a shows our generalization of how planners infer the role and status of activities based on the role
and flexibility of constraints. By contrast, the current CPM framework uses precedence relationships,
which only represent the temporal aspect of the constraints. Consequently, CPM schedules only
distinguish the time-criticality of activities. For example, figure 3b shows the activities that are timecritical (i.e., zero float) with respect to the activity Install Process Pipes B. (i.e., target activity). The
criticality of these activities implies that they cannot not be delayed. Classifying the role and status of the
critical activities enables planners to determine opportunities for expediting the target activity by delaying
6
one or more of the activity’s predecessors. For example, the activity Erect Frame A is a critical activity
that is linked to the target activity by the series of activities: Erect Frame B, Apply Fireproofing B, and
Install Process Pipes B (Figure 3b). Similarly to the activity Apply Fireproofing B, the activity is also a
non-driving, impeding activity. Hence, delaying the activity Erect Frame A can also expedite the activity
Install Process Pipes B.
Figure 3b: Non-driving and impeding activities
Figure 3a: Generalization of relationship
between activities and constraints.
with respect to the target activity (TA).
Figure 3: Generalization table and example of non-driving and impeding activities.
Having identified activities that can be delayed, planners can make the change in the CPM schedule.
However, implementing the sequence change using existing scheduling tools (e.g., Primavera P3) requires
planners to perform several steps manually. Figures 4 and 5 show the steps required to recreate the
sequencing alternative used by the general contractor. The planner relaxes the damaged by constraint and
shifts the activity and its successors backward1 (Figure 4a). He identifies a workspace conflict (Figure 4b,
step 3). As the intent is to expedite the activity Install Process Pipes B, he gives priority for workspace to
the activity Install Process Pipes B, a driving activity (Figure 4b, step 4). Consequently, the planner
delays the activity Apply Fireproofing B using the float available with respect to the activity Install Process
2
3
Pipes B. We call this float the activity’s “target float ” (Figure 5a). The planner shifts the activity forward
until the workspace conflict is resolved (Figure 5a, step 5). Finally, he specifies a workspace constraint so
that the sequence logic is retained (Figure 5b, step 6). Consequently, the activity Install Process Pipes B
can now start on day 11. As the example shows, the role and status of activities is also required during the
re-sequencing process to ensure that workspace or resource conflicts are resolved correctly.
In summary, identifying and developing sequencing alternatives requires planners to classify the role and
status of activities. Planners classify or infer the role and status of activities based on the rationale and
flexibility of constraints. As discussed, however, the existing CPM framework only distinguishes
constraints with respect to the temporal relationships between activities. Consequently, the identification
and re-sequencing process is a manual and ad hoc process. The following section describes these
limitations in more detail.
1
Backward with respect to time (i.e., expedites).
The target float can be calculated using CPM’s method of calculating activities’ total float (TF). However, the
calculation is performed with respect to the target activity, not to the end of the project. In the test case example, the
activity Apply Fireproofing B is no longer a predecessor of the target activity Install Process Pipes B. In this case, I
assume that the activity Apply Fireproofing B has positive target float.
3
Forward with respect to time (i.e., delays).
2
7
Figure 4a: Steps 1 and 2.
Figure 4b: Steps 3 and 4.
Figure 4: Steps required to expedite Install Process Pipes B by delaying activity Apply Fireproofing B.
Figure 5a: Step 5.
Figure 5b: Step 6.
Figure 5: Steps required to expedite Install Process Pipes B by delaying activity Apply Fireproofing B.
Summary of limitations of CPM-based schedules
The case example illustrates several limitations of CPM schedules for modifying sequences correctly and
quickly:
The representation of rationale and flexibility of constraints is not formalized: As shown in the case
example, planners should be able to describe the rationale and flexibility for activity sequences. However,
the precedence relationships in CPM schedules represent only the temporal aspect of constraints. Hence,
planners today cannot represent sequencing rationale accurately and usefully. That is, planners cannot
consistently and accurately describe the various sequencing rationale by distinguishing the rationale of
constraints explicitly. In addition, they cannot describe sequencing rationale in a way that enables a
computer system to use the constraints to classify the role and status of activities.
The process of classifying the role and status of activities is not formalized: Planners classify the role and
status of activities to identify and develop feasible sequencing alternatives. However, the current CPM
8
framework only classifies the time-criticality of activities, i.e., the process of classifying activities can
only be performed in the planner’s minds. This can be an error-prone and time-consuming process,
especially when classifying activities in a large and complex CPM network. Hence, a need exists to
formalize and generalize the classification process, so that activities can be correctly and rapidly classified
with respect to the activity requiring earlier execution.
The process of identifying and developing sequencing alternatives is not formalized: Currently, the
primary techniques for expediting activities in a CPM schedule are time-cost trade-off and resource
allocation and leveling (Antill and Woodhead, 1990). However, these techniques assume that activity
sequences are fixed. In addition, these techniques prioritize activities based on an activity’s float values.
These techniques are not applicable for identifying and developing feasible sequencing alternatives,
especially when activities on the original critical path need to be re-sequenced. Consequently, planners
need to identify and re-sequence activities with little computer support and in an ad hoc manner. Hence, a
need exists to formalize and generalize the identification and re-sequencing process so that many of the resequencing steps can be automated for project-specific schedules.
Objectives of the research
As described in the summary of limitations above, we identified three objectives of the research. The first
objective was to formalize the representation of constraints to enable planners to describe the rationale and
flexibility of constraints accurately and in a way that supports the quick generation of sequencing
alternatives. Our goal was not to predefine a “complete” set of project-independent constraints that
enables planners to describe each and every possible rationale for activity sequences. Rather, the focus of
this research was to provide generic or abstract types of constraints with which planners can define and
create specific types of constraints (e.g., supported by). In particular, we focused on formalizing
sequencing rationale that affects multiple trades performing installation operations while sharing common
workspaces. The motivation for focusing on these constraints was to support the application of lean
construction principles and pull-driven schedules (Pfeiffenberger and Curran 1997). Lean construction
concepts stress the importance of “synchronizing” trades’ work sequences to maximize productivity
(Howell 1999, Choo and Tommelein 1999). These studies stress the limitations of CPM schedules in
representing sequencing process information as one of the main shortcomings to sequence trades
productively and reliably. Hence, our goal was to develop a constraint ontology that users can use to
create specific types of constraints and a computer system can use to classify activities correctly.
The second objective was to formalize reasoning mechanisms that automate the inference process of
classifying the role and status of activities. Lean construction concepts stress the need to coordinate work
between “downstream” and “upstream” trades (Ballard and Howell 1997). As shown in the case example,
coordinating trades require planners to distinguish whether work performed by an upstream trade
“enables” or “impedes” the following trade’s work (i.e., downstream trade). The example also showed the
need to determine whether a trade’s work may or may not be delayed. However, researchers (Ballard and
Howell 1997, Tommelein 1998) currently have not formalized methods with which a computer system
may automatically infer the role and status of activities. Hence, determining whether a particular trade’s
work is enabling/impeding or driving/non-driving can only be inferred in the planner’s minds. Hence, a
goal of the research was to formalize a classification mechanism that utilizes the formalized ontology to
automatically classify the role and status of activities.
The third objective was to formalize processes that utilize the formalized classification mechanisms to
assist planners in identifying and developing sequencing alternatives. Existing techniques for sequencing
trades include resource allocation and leveling and time-cost trade-off analysis (Crandall 1985, Burns et al.
1996, Hegazy 1999). These techniques assume that precedence relationships are fixed. In addition, these
techniques prioritize activities based on the time-criticality of activities (i.e., float values). Hence, these
techniques are not applicable for re-sequencing activities. Hence, a goal of the research was to develop
processes that enables a computer system to alert planners of constraints that when relaxed enables a
particular activity to be expedited. The research also required formalizing priority rules that a computer
9
system can use to correctly shift activities to resolve workspace or resource conflicts during the resequencing process.
Relation to the present state of knowledge in the field
In relation to the three research goals, this section discusses the research methodology used to accomplish
the goals and the results to date.
Formalization of sequencing rationale
Related to the first research objective, we investigated existing approaches for classifying and representing
sequencing rationale. The classification and representation of sequencing rationale needs to be simple. A
simple classification will make it more likely that different planners classify and represent sequencing
rationale in the same way and that software tools can be implemented to automate parts of the resequencing process.
Classification of sequencing rationale
In this section, we introduce criteria used in prior research for classifying the rationale of constraints.
Investigation and evaluation of these criteria is important as it provides a theoretical basis for a
generalized representation of the constraints. Specifically, we introduce classification schemas with
respect to their origin, flexibility and role.
Classification of sequencing rationale with respect to origin
Several researchers have focused on identifying and classifying rationale that affect activity sequences. A
common theme is to classify sequencing rationale with respect to “origin” or sequencing factors. In
particular, Echeverry et al. (1991) focus on factors that affect the sequence of an activity that “installs,
removes, modifies or tests a particular component of a facility”. They define physical relationships
between building components (e.g., supported by), trade interaction (e.g., workspace competition), path
interference (e.g., obstruction) and code regulations (e.g., inspection). The factors identified by Echeverry
et al. (1991) are most applicable to the proposed research since the factors pertain to the actual installation
and associated interaction between multiple trades during the construction of a facility. Hence, using his
classification, we classified the relationships and interactions compiled from existing literature
(Navinchandra et al. 1988, Darwiche et al. 1988, Kähkönen 1993, Aalami and Fischer 1998a) in Table 1
as project-independent types of constraints.
We define additional project-independent constraints that are required to describe a trade’s dependency for
installed components, workspaces and shared resources. We explicitly distinguish between a componentsupported by and resource-supported by constraint. Trades or crews rely on installed components to
perform their work. For example, trades installing HVAC ducts on the second floor require second floor
slabs on which to work. In this case, the resource-supported by constraint is a more accurate description of
the rationale than the supported by constraint. Similarly, we distinguish between a component-protected
by and resource-protected by constraint. In Table 1, we distinguish these constraints using Aalami and
Fischer’s (1998a) Component <C>, Action <A>, and Resource <R> typology. Table 1 shows the
supported by constraint further distinguished as component- and resource- supported by, or Scc and Scr.
We also distinguish the workspace constraint as workspace-mild, medium and severe according to Akinci
and Fischer’s (2000) degrees of workspace conflict. When a workspace constraints conflict occurs,
planners may prefer to sequence activities sequentially or concurrently, depending on the severity of the
conflict. Table 1 shows these constraints distinguished as WSMild, WSMedium and WSSevere. Finally, we
distinguish between a resource-shared and resource-trade constraint, since resource limitations can be
due to resources (e.g., scaffolding) that are shared among multiple trades (i.e., resource-shared) or shared
within a single trade (i.e., resource-trade).
Classification of sequencing rationale with respect to flexibility
Several researchers classify constraints with respect to flexibility, using different terms such as
absolute/preference logic (Birrell 1980) or conditional/unconditional (Kähkönen 1993). Existing
classifications of flexibility are static and fixed. For example, Echeverry et al. (1991) classify a supported
10
by constraint as inflexible. However, as discussed in the test case, a supported by constraint can be relaxed
if temporary support can be provided on site. Hence, the flexibility of a constraint needs to be considered
within the circumstances (e.g., availability of labor and materials) of a specific project. Hence, we define
flexibility as a project-dependent variable. In addition, Echeverry et al. (1991) state that constraints have
varying degrees of flexibility (DOF). However, they do not specify how the varying levels should be
qualified. We proposed to use a scale of high, medium and low to describe the degree of flexibility.
Accordingly, in Table 1, we provide default values (instead of fixed values) for flexibility for the
constraints. For flexible constraints (e.g., workspace constraint) the default value for DOF is “low”.
Factor
(Origin)
Constraint
Distinctions
typology
Physical
relationship
Supported by
Symbol
Flexibility (DOF)
(Default value)
Role
(Fixed)
Serviced by
Workflow
Obstructed by
Component supported by component
resource supported by component
None
None
None
None
Component protected by component
resource protected by component
Workspace-mild
Workspace-medium
Workspace-severe
resource-trade
resource-shared
Component damaged by activity
resource damaged by activity
None
None
None
<SCC>
<SCR>
<ConnCC>
<CovCC>
<EncCC>
<CloserCC>
<PCC>
<PCR>
<WSMild>
<WSMedium>
<WSSevere>
<RT>
<RS>
<DAC>
<DAR>
<Service>
<WF>
<OCC>
Inflexible (N/A)
Inflexible (N/A)
Flexible (LOW)
Inflexible (N/A)
Inflexible (N/A)
Flexible (LOW)
Inflexible (N/A)
Inflexible (N/A)
Flexible (LOW)
Flexible (LOW)
Flexible (LOW)
Flexible (LOW)
Flexible (LOW)
Inflexible (N/A)
Inflexible (N/A)
Inflexible (N/A)
Flexible (LOW)
Inflexible (N/A)
Enabling
Enabling
Impeding
Enabling
Impeding
Enabling
Enabling
Enabling
Impeding
Impeding
Impeding
Impeding
Impeding
Impeding
Impeding
Enabling
Impeding
Impeding
Safety
Inspection
Testing
None
None
None
<Safety>
<Insp>
<Test>
Inflexible (N/A)
Inflexible (N/A)
Inflexible (N/A)
Impeding
Impeding
Impeding
Connected to
Covered by
Enclosed by
Closer to
Protected by
Trade
interaction
Workspace
Resource
Damaged by
Path
Interference
Code
regulations
using
<CAR>
Table 1: Project-independent constraints.
Classification of sequencing rationale with respect to their role
The case shows that planners conceptually distinguish the rationale of constraints with respect to the role
they have on enabling or impeding an activity. We have not found in previous research a method that
classifies the rationale for constraints with respect to their role. We propose to formalize and generalize
the role of constraints as “enabling” or “impeding”. The role of a constraint is an inherent characteristic of
the rationale of the constraint. That is, the role of a supported by constraint is “enabling”, independent of a
specific project. Hence, we define the role of a constraint as a fixed or project-independent variable. The
objective of investigating the various criteria for classifying constraints is to determine how the rationale
for constraints can be generalized and formalized. Existing research has focused primarily on classifying
sequencing rationale with respect to their origin. However, Table 1 shows that there is no correlation
between a constraint’s origin and its role and flexibility. For example, the supported by constraint and
connected to constraint are constraints whose origin is based on physical component relationships.
However, the supported by constraint is an enabling constraint, whereas the connected to constraint is an
impeding constraint. In addition, the connected to constraint is not necessarily an inflexible constraint.
Hence, the existing approach of classifying constraints with respect to their origin is not applicable for
generalizing the rationale of constraints to assist planners in developing re-sequencing alternatives.
Furthermore, while it is easy to understand sequencing rationale in terms of the sequencing factors shown
in Table 1, it is not easy to discern activities that can be delayed in a network even if all its constraints
were labeled. A simpler approach is needed to differentiate between activities that can and cannot be
delayed with respect to the target activity that requires earlier execution. Therefore, we generalized the
11
rationale for constraints with respect to their role and formalized the representation as a constraint
ontology. Prior to the introduction of the constraint ontology, the following section briefly discusses prior
approaches for representing sequencing rationale.
Representation of sequencing rationale
Prior approaches use relationships from 3D product model and knowledge bases to represent sequencing
rationale.
Rationale formalized as relationships in the product model
PLANEX, (Hendrickson et al. 1987, Zozaya-Gorostiza et al. 1989), OARPLAN (Darwiche et al. 1988),
and CMM (Aalami et al. 1998) are model-based expert systems that derive activity sequences from a
general description of building components. For example, the most recent of these types of systems,
CMM, can sequence activities automatically and correctly if the product model contains supported by
relationships between the components the activities are acting on. However, CMM is limited to the
supported by relationship. Other inter-component relationships previously discussed (e.g., protected by,
connected to, etc.) are not defined, and the effects on activity sequences are not formalized. In addition,
activity sequences that are due to trade interactions or code regulations cannot be derived from
relationships in the product model. Currently, CMM bypasses this problem by requiring users to define
these constraints arbitrarily as “technical” constraints. Hence, whereas some activity sequences can be
derived from the product model, other sequences inevitably need to be specified directly between
activities by the planner. In addition, the current implementation of CMM does not recognize the
flexibility of constraints. Hence, users cannot specify or customize the flexibility of constraints.
Rationale formalized as activity sequencing knowledge files
Comparatively, Kähkönen (1993) does not define relationships based on a product model. Kähkönen
represents the rationale for activities as one or more predefined factors. Each factor is associated with a
type (conditional, unconditional) specifying its flexibility. For example, a “structural” factor is
unconditional. The factor and type is stored in an activity sequence knowledge file together with a generic
“activity type pair” (e.g., build column, build beam). During the sequencing process, if the two activities
whose type matches the activity type pairs are identified the two activities are sequenced accordingly and
the factor and type between the two activities are instantiated. However, the factors used by Kähkönen’s
approach are too broad to distinguish between specific constraints. For example, supported by and
connected to constraints are classified as a “structural” factor. In addition, the value for the type of each
factor is fixed, i.e., users cannot customize the values.
Constraint ontology
As discussed, we formalized a constraint ontology that generalizes sequencing rationale with respect to
role and flexibility (Figure 6). Specifically, we defined four generic or abstract types of constraints:
enabling-inflexible, enabling-flexible, impeding-inflexible and impeding-flexible. Using a sequencing
constraint template (i.e., SCT in figure 7), users can select one of these abstract types to define “concrete”
types that represent a specific instance of sequencing rationale. The user-defined constraint inherits the
same values for its role and flexibility from the abstract type. For example, planners can specify a
damaged by constraint as a “concrete” subtype of the abstract type impeding-inflexible. Correspondingly,
the damaged by constraint has the values impeding and inflexible for its role and flexibility (Figure 7).
Based on this ontology, we formalized the project-independent constraints listed in Table 1 as “concrete”
constraint types. For a specific project, planners can choose one or more of these “concrete” constraint
types to describe the rationale and flexibility of a particular activity sequence. The system subsequently
instantiates the constraint type as a project-specific constraint. If required, users can customize the default
value for flexibility of the instantiated constraint. Allowing the flexibility to be modified at the instance
level enables planners to customize the values for the circumstances of a project.
12
Figure 6: Constraint Ontology.
Figure 7: Example of using Sequencing Constraint Template to create a concrete constraint type.
Formalization of an activity classification mechanism
With respect to the second research objective, we investigated existing activity classifications. We also
performed paper-based “thought” experiments in the context of the case example to determine the
required mechanisms for automatically classifying the role and status of activities within a CPM network
using the formalized constraints.
Existing activity classification schemas
Several researchers and practitioners have defined classification schemas (Levitt and Kunz 1985, Seibert
et al. 1996, Aalami et al. 1998, Jacobus Technologies, Inc. 1997). Activities can be classified differently
depending on the particular information required by planners. Table 2 shows the different classification
schemas used and the related purpose for their particular classification schema. The table also shows the
approach used in these studies to classify activities. As the examples show, many of the classifications
allow a richer distinction than that provided by CPM schedules. The classifications are similar in that they
attempt to provide “context” to activities, in particular to the “role” or “function” an activity has with
respect to the overall project. As shown in the table however, the approaches used in these studies place
the burden of classifying activities on the user, which makes them impractical for full-scale projects,
where typically a hundred or more activities need to be managed and updated at one time.
13
Researched by
Levitt
(1985)
and
Kunz
Seibert et al. (1996)
Classification
Schema
Long/Short,
Knights/Villains
Value-adding,
Contributory,
Ineffective
Purpose of Classification
Utilize task and project management
knowledge to forecast the expected
performance of remaining activity durations
based on the project’s performance to date.
Assess the value added by individual
activities as well as assess the aggregate
value-added effectiveness of an overall
construction plan.
Visually distinguish activities during the 4D
simulation process.
Bentley’s Schedule Permanent,
Temporary,
Simulator
Constructive,
(Jacobus
Destructive
Technologies 1997)
Aalami et al. (1998)
Core, Non-Core
Prevent over-constrained plans.
Table 2: Examples of activity classification schemas.
Figure 8a: Network chain 1.
Classification
Method
Inferred by system
using
updated
information
of
activity durations.
User input
User input
User input
Figure 8b: Network chain 2.
Figure 8c: Network chain 3.
Figure 8d: Multiple constraints.
Figure 8: Example network chains. TA = target activity, activity that should be scheduled earlier.
In summary, previous research has shown the requirement for a richer classification of activities that can
be used to either evaluate or modify activity sequences. However, previous research has not formalized a
method that enables activities to be automatically classified with respect to their role and status.
14
Paper-based “thought” experiments
The challenge was to classify an activity with respect to its role and status even when it is part of multiple
network chains and when it has multiple constraints. For example, the activity Erect Frame A has three
multiple paths or “routes” that link it to the target activity (Figure 8). We call such paths the activity’s
“network chains”. The role and status of an activity is dependent on the rationale and flexibility of the
constraints within each of the activity’s network chains. In addition, as shown in figure 8d, there may exist
multiple constraints in a single network chain. Hence, we needed to define separate inference rules for
instances where an activity is part of single and multiple network chains. We also needed to define rules
for instances where multiple constraints exists in a single network chain. We needed to define the two sets
of inference rules for classifying the role and status of activities, respectively. We also needed to develop
network search algorithms to identify unique network chains for a typical activity.
Activity Classification Mechanism
Based on the paper-based “thought” experiments in the context of the case, we defined inference rules
needed for classifying the role and status of activities. In addition, we defined a network search algorithm
for identifying unique network chains of a typical activity.
Inference rules for classifying the role of activities
We define an activity to be enabling if and only if the activity is enabling an activity that in turn is
enabling the target activity. Enabling activities are evaluated based on the role of constraints. Formalizing
this logic requires defining the following set of inference rules.
Multiple constraint rule
In cases where multiple constraints exist and their values for role differ, we define the enabling constraint
to override the impeding constraint. We call this constraint the “overriding” constraint. Hence, we define
the following rule:
Rule 1: Enabling/Impeding-multiple constraint rule
If at least one of the constraints is enabling, the enabling constraint is the overriding constraint
For example, in figure 9a, although the workspace constraint is impeding, the supported by constraint is
enabling and hence the supported by constraint becomes the overriding constraint.
Single network chain rule
As discussed, we defined an activity to be enabling if the activity enables an activity that in turn is
enabling the target activity. This in effect requires all overriding constraints in an activity’s network chain
to be enabling. More formally, we define the following rule:
Rule 2: Enabling/Impeding-single network chain
An activity is enabling if and only if all overriding constraints in the activity’s network chain are
enabling.
We demonstrate this rule using the test case example. Figure 9b shows one of the network chains of the
activity Erect Frame A. The resource constraint within this network chain is impeding. Correspondingly,
the activity Erect Frame A is impeding. Logically speaking, the activity Erect Frame A does not provide
support for the target activity or its successor Erect Frame B, and hence with respect to the target activity,
it is impeding.
Multiple network chain rule
As discussed, an activity can have multiple network chains. Applying the single network chain rule to
each of the network chains can potentially return conflicting values (i.e., enabling versus impeding) for the
activity. I call such conflicts a “classification” conflict.
In such cases, I define the enabling classification to override the impeding classification. More formally, I
define the following rule:
Rule 2.1: Enabling/Impeding-multiple network chain
If multiple network chains exist and a classification conflict occurs, enabling overrides impeding.
15
I illustrate the rule using the test case example. Activity Erect Frame A is part of three network chains that
are highlighted in figure 9. As the figures show, each of the network chains has at least one impeding
constraint. Hence, each network chain returns the activity to be impeding. Hence, in this case, no
classification conflict exists, and the activity is impeding.
Figure 9a: Network chain 1.
Figure 9b: Network chain 2.
Figure 9c: Network chain 3.
Figure 9d: Multiple constraints.
Figure 9: Example network chains. TA = target activity, activity that should be scheduled earlier.
Inference rules for classifying the status of activities
In the case example, we defined a driving activity as an activity that cannot be delayed without delaying
the target activity. The status (i.e., driving or non-driving) of an activity needs to be evaluated with respect
to its float value as well as the flexibility of its constraints. Formalizing this logic requires defining the
following set of inference rules.
Multiple constraint rule
In cases where multiple constraints exist and their values for flexibility differ, we define the inflexible
constraint to override the flexible constraint. This is logical as relaxing one of the flexible constraints still
prevents the activity from being delayed due to the inflexible constraint. Hence, we define the following
rule:
Rule 3: Driving/non-driving-multiple constraint rule
If at least one of the constraints is inflexible, the inflexible constraint is the overriding constraint.
For example, in figure 10a, although the workspace constraint is flexible, the supported by constraint
which is inflexible, becomes the overriding constraint.
16
Single network chain rule
An activity with a single network chain can be shifted forward if one or more overriding constraints in its
network chain are flexible. However, even if the overriding constraints of a related activity’s network
chain are inflexible, the activity can still be delayed if the activity has positive target float. As discussed,
the target float is the activity’s total float calculated with respect to the target activity. Hence, the logic
implies that only the network chain populated by activities with zero target float is applicable for
determining whether an activity is driving or non-driving. I call such network chains “critical” network
chains. More formally, we define the following rule:
Rule 4: Driving/non-driving-single network chain
An activity is driving if and only if all overriding constraints on the “critical” network chain are
inflexible.
We demonstrate this rule using the test case example. As shown in figure 10, the activity Erect Frame A
has three network chains. Of these network chains, only the first network chain is a critical network chain
(Figure 10b) and is the cause for the activity Erect Frame A having zero target float. Within this critical
network chain, the resource constraint is flexible. Hence, the activity is non-driving.
Multiple network chain rule
As discussed, an activity can have multiple network chains. Of these network chains, one or more can be
critical network chains. Hence, a classification conflict can occur when two or more critical network
chains return conflicting values (e.g., driving versus non-driving) for the related activity. In such cases, the
related activity is driving if at least one of the critical network chains returns the activity to be driving.
More formally, we define the following rule:
Rule 4.1: Driving/non-driving-multiple network chain
If the activity has multiple critical network chains and a classification conflict occurs, driving overrides
non-driving.
We demonstrate this rule using the test case example. As discussed, only the network chain in figure 10b
is a critical network chain. Hence, in this case no classification conflict occurs and the activity is nondriving.
Figure 10a: Network chain 1.
Figure 10b: Network chain 2.
17
Figure 10c: Network chain 3.
Figure 10d: Multiple constraints.
Figure 10: Example network chains. TA = target activity, activity that should be scheduled earlier.
Network search algorithm
In addition to the rules introduced above, automating the classification process requires developing
algorithms that can automatically identify an activity’s unique network chains. We developed a network
search algorithm by adopting the logic used in dynamic programming formulas (Hillier and Leiberman
1995):
Activity R’s network chains ⇔
∃{∃{ActTA → (ActTA)p}} + ∀{ (ActTA)p → ((ActTA)p)p}+ ∀{((ActTA)p)p →(((ActR)p)p)p}
Actn: activity n, ActR: activity to identify, ActTA: target activity
(Actn)p: activity n’s predecessor
Actn → (Actn)p: path from activity Actn to (Actn)p
The algorithm recursively identifies and adds each path linking the target activity and the
activity’s predecessors (ActTA → (ActTA)p) to paths linking the predecessors to their predecessors
( (ActTA)p → ((ActTA)p)p). The process is repeated until the activity (ActR ) is reached. We will test this
algorithm on industrial cases.
Figure 11 shows an example of the formula applied to a sample CPM network. As the example
shows, there exists five unique network chains between the related activity (ActA ) and the activity
(ActTA).
Figure 11: Example of network search algorithm on a generic CPM network.
18
In summary, the sections above introduced a set of generalized inference rules that formalize the
conceptual process of classifying activities. Subsequently, we introduced a network search algorithm that
can automatically identify unique network chains. The classification mechanism (i.e., network search
algorithm and inference rules) can subsequently be used in a project-specific schedule to correctly and
rapidly classify the role and status of activities.
Formalization of identification and re-sequencing process
With respect to the third research objective, we investigated existing techniques for accelerating schedules
and performed paper-based “thought” experiments to define an initial process that leverages the
classification mechanisms and identifies and generates sequencing alternatives correctly and rapidly.
Existing acceleration techniques
Currently, the primary techniques for accelerating schedule durations are time-cost trade-off analysis and
resource constrained scheduling (i.e., resource allocation). Time-cost trade-off analysis or “network
compression” attempts to expedite project delivery time while minimizing the associated increase in cost
(Hegazy 1999). Various techniques exist to solve the time-cost trade-off problem, including heuristic
methods (Anthill and Woodhead 1990), optimization techniques in operations research (Mosehli and
Lorterapong 1993, Burns et al. 1996) and most recently genetic algorithms and machine learning (Feng
and Liu 1997, Li et al. 1999). The fundamental approach used by these techniques is to crash the duration
of activities on the critical path, starting with the activity with the least cost slope. In contrast, we pursued
an approach where constraints (not activities) are identified as potential solutions for accelerating the
project duration and where a software tool assists planners in finding a satisfactory schedule alternative.
Correspondingly, the degree of flexibility of each constraint (not the activity’s cost slope) becomes the
criteria for determining which constraints are relaxed first. Resource allocation attempts to reschedule the
activities so that a limited number of resources can be efficiently utilized while keeping the unavoidable
extension of the project to a minimum (Fondahl 1991, Hegazy 1999). Various techniques exist to solve the
resource allocation problem using heuristic methods (Crandall 1985, Chang et al. 1989, Halpin and Riggs
1992), optimization techniques such as integer and dynamic programming (David 1973), or genetic
algorithms combined with fuzzy logic (Leu et al. 1999). Recent attempts have focused on incorporating
space availability as a resource (Zouein and Tommelein 1993, Thabet and Beliveau 1997). For example,
Thabet and Beliveau (1997) developed ScarC (Space-Constrained Resource-Constrained Scheduling
System), a knowledge based system that accounts for space limitations during the sequencing of activities.
The fundamental approach used by these techniques is to prioritize activities based on the activities’ float
values. However, activities also need to be prioritized based on their relation (e.g., role) to the target
activity. Hence, we formalized the logic involved in prioritizing activities as priority rules.
Initial identification and re-sequencing process based on paper-based “thought” exercise
We use the case to demonstrate the steps required to identify a candidate activity that can be delayed and
to generate sequencing alternatives. We differentiate between the steps a user needs to take and those of
the system. Note that the system (software prototype) does not yet exist. This description details the
anticipated degree of automation for the identification and re-sequencing process we plan to implement to
test the scalability and power of the constraint ontology and classification mechanisms. The enumerated
steps of figures 12, 13 and 14 coincide with the steps of the flowchart in figure 15. Planners first select the
activity Install Process Pipes B (i.e., the target activity). The system classifies the role and status of the
time-critical activities (i.e., activities with zero target float) using the classification mechanisms (steps 1 to
3 in figure 12a). This classification enables the planner to determine which of the activities can most
easily be delayed to expedite the target activity Install Process Pipes B. For example, the time-critical
activity Erect Frame A, is a non-driving and impeding activity (Figure 12a). The user might choose to
delay this activity, in contrast to the activity Apply Fireproofing B, which was the activity delayed by the
general contractor on the FAB 22 project (Figure 12b, step 4). We call this activity the “candidate
activity”. The candidate activity Erect Frame A can be delayed by relaxing either the resource or damaged
19
by constraint. The system notifies the user of these constraints, and the user selects one of these constraints
to relax. Since the resource constraint has a higher degree of flexibility (DOF), the user will likely select
the resource constraint (Figure 12b, steps 5 and 6). The system relaxes the resource constraint and shifts
the target activity and its successors backward (i.e., expedites the activity) (Figure 13a, steps 7 and 8). As
a result, a resource conflict occurs due to the shifted activities (Figure 13b, step 9). Using the activity
classification mechanism, the system first updates the status and role of the activities in conflict (Figure
13b, step 10) and then uses predefined priority rules to determine which activity to delay to resolve the
conflict. In this case, both activities can be delayed as they are both non-driving. However, the activity
Erect Frame A is an impeding activity, whereas the activity Erect Frame B is an enabling activity. Hence,
the system gives priority for resources to the enabling activity and determines the activity Erect Frame A
as the activity to delay (i.e., the activity with lower priority) (Figure 13b, step 11). The system now delays
the activity Erect Frame A using the activity’s target float (Figure 14a, steps 12 and 8 (2nd pass)).
However, the conflict is still not resolved (Figure 14b, step 9 (2nd pass)). The activity Erect Frame A is
still the lower priority activity. However, the activity now has zero target float, and is linked to the target
activity by one or more network chains (Figure 14b, steps 10 to 12 (2nd pass)). Hence, a “sequencing
conflict” has occurred. That is, further delaying the activity will in turn delay the target activity. Hence,
the only way to resolve the sequencing conflict is to relax flexible constraints in the activity’s network
chain. The activity can be delayed by relaxing either the resource constraint or the damaged by constraint.
(Figure 14b, step 13). The user decides to relax the resource constraint. The relaxation of the constraint
enables the activity to be delayed further, resolving the sequencing conflict and correspondingly the
resource conflict. Finally, the system alerts the user to specify a resource constraint to ensure that the logic
remains correct (Figures 14c and 14d, steps 6 (2nd pass), 7 (2nd pass), 8 (3rd pass) and 14). Consequently,
the activity Install Process Pipes B can now start on day 11.
As the example shows, classifying the time-critical activities according to their role and status enables
planners to select the best candidate activity to delay to expedite the target activity. In addition, users can
select the constraint to relax based on the constraints’ degree of flexibility.
Figure 12a: Steps 1, 2 and 3.
Figure 12: Example of identification process
Figure 12b: Steps 4, 5 and 6.
20
Figure 13a: Steps 7 and 8.
Figure 13: Example of re-sequencing process
Figure 14a: Steps 8 (2nd pass) and 12.
Figure 13b: Steps 9 to 11.
Figure 14b: Steps 9, 10, 11,12 (2nd pass) and
13.
Figure 14c: Steps 6 (2nd pass), 7 (2nd pass)
rd
and 8 (3 pass).
Figure 14: Example of re-sequencing process
Figure 14d: Step 14.
21
Identification and re-sequencing process
Figure 15 shows a generalized identification and re-sequencing process we formalized based on the paperbased experiments. The identification process (Figure 15, steps 1 to 6) assists planners in determining
which activity to delay (i.e., the candidate activity) to expedite the target activity. The process also assists
planners in determining which constraint to relax to delay the candidate activity using the constraint’s
degree of flexibility. The proposed re-sequencing process (Figure 15, steps 7 to 15) assists planners in
generating schedule alternatives correctly by pointing out and helping to resolve workspace and resource
conflicts while maintaining the goal of expediting the target activity. The system will need to identify a
workspace or resource conflict, update the role and status of activities in conflict and use priority rules to
determine the activity to delay (Figure 15 steps 8 to 12). In particular, step 11 leverages the role and status
of activities to formalize the planner’s rationale for prioritizing activities.
Figure 15: Identification and re-sequencing process.
Figure 16: Priority Rules.
22
The order of the steps first prioritizes activities with respect to their status and then prioritizes them with
respect to their role (Figure 16). This order reflects the planner’s intent, which is to expedite the target
activity. By definition, driving activities are activities that cannot be delayed. Hence, if both activities are
driving no solution exists (Figure 16, step 6.1). If one of the activities is non-driving and the other is
driving, the non-driving activity is the lower priority activity (i.e., the activity to be delayed) (Figure 16,
step 6.2). If both activities are non-driving, the priority cannot be decided based on the activities’ status
(Figure 16, step 6.3). As the case shows, planners try to re-sequence activities so that enabling activities
are prioritized over impeding activities. Hence, enabling activities have priority for workspace or
resources over impeding activities (Figure 16, step 6.4). If both activities have the same role, the user has
to decide which activity has lower priority (Figure 16, step 6.5). The system will need to repeat the resequencing process until workspace or resource conflicts are resolved, which should result in a correct
sequencing alternative.
In summary, this section described a process for identifying and re-sequencing activities correctly and
rapidly. The following section describes how a computer system utilizing the formalizations described
thus far can assist planners to describe sequencing rationale accurately and inform planners of potential
sequencing alternatives that expedite particular activities.
Overview of framework for re-sequencing activities
In this section we describe our vision of how the formalized ontology, classification mechanisms and resequencing process can be used in the context of a specific project. Figure 17 describes the proposed steps
in detail. In the first module, users describe the rationale and flexibility for activity sequences. Using a
Sequencing Constraint Template (i.e., SCT in figure 17), users can define project-independent constraints
based on one of the four abstract types (e.g., enabling-inflexible) of constraints. As discussed, we
formalize project-independent constraint types that represent specific instances of sequencing rationale
compiled from existing literature (Darwiche et al., 1988; Echeverry et al., 1991; Kähkönen, 1993; Aalami
and Fischer, 1998b). We focus in particular on the rationale of constraints that affect the installation
operations of multiple trades working in common workspaces. The rationale for these constraints includes:
physical relationships (e.g., supported by) between components, trade interactions (e.g., workspace
competition) and code regulations (e.g., safety requirements).
For a specific project, users define activities and specify the resource and location used by the trades
performing the activities. Using the SCT, users can either create a new constraint type, or select one of the
project-independent constraints. Subsequently, the system instantiates the selected constraint type as a
project-specific constraint between the selected activities and sequences the activities. Users can
subsequently customize the default values for flexibility to reflect the circumstances of a specific project.
The output of the first module is a schedule with the rationale and flexibility of constraints explicitly
represented.
In the second module, users select the activity requiring earlier execution, (i.e., the “target activity”). The
system identifies activities that are time-critical with respect to the target activity, i.e., activities that have
zero target float. Using the classification mechanism, the system classifies the role and status of the
critical activities. The classification enables users to determine which of the activities can most easily be
delayed to expedite the target activity. Hence, in the third module, users select one of these activities to
delay, (i.e., the “candidate activity”). The system identifies flexible constraints between the candidate
activity and the target activity, and outputs these constraints as unique solutions. If more than one flexible
constraint exists, users can decide which constraint to relax by comparing the constraints’ degree of
flexibility (DOF).
In the fourth module, the system relaxes the chosen constraint and subsequently shifts the target activity
and its successors backward4. Consequently, a workspace or resource conflict5 can occur due to the shifted
4
Backward with respect to time (i.e., expedites).
We assume that two overlapping activities requiring the same workspace (e.g., zone) or resource results in a
workspace or resource conflict.
5
23
activities. The system updates the role and status of activities and uses predefined priority rules (e.g.,
driving over non-driving) to determine which activity needs to be delayed. If the activity that needs to be
delayed has positive target float, the system tries to resolve the workspace or resource conflict by using
the activity’s target float to shift the activity forward. However, if the activity does not have target float,
and is linked to the target activity by one or more network chains, further delaying the activity will in turn
delay the target activity. (i.e., a sequencing conflict). Hence, the only way to resolve the sequencing
conflict is to relax flexible constraints in the activity’s network chains. Hence, the system identifies
flexible constraints that need to be further relaxed. The user can subsequently select one of these
constraints. The relaxation of these constraints enables the activity to be delayed further, resolving the
sequencing conflict and correspondingly the workspace and resource conflict. Finally, the system alerts
the user to specify a resource or workspace constraint to ensure that the logic remains correct. The user
can repeat the entire process to generate several sequencing alternatives.
Figure 17: Overview of proposed system.
We plan to refine and implement this proposed framework and test its generality in the context of several
projects. We will test whether planners that follow such a systematic process are able to generate more
correct sequencing alternatives than planners who do not follow such a systematic process. The next
section describes our test plan in more detail.
Test plan
We plan to test the formalizations through implementation and charettes. Specifically, we plan to carry out
the following activities to verify the generality and power of the formalizations.
1) Test and refine the constraint ontology required to represent rationale and flexibility of constraints: As
discussed, we have investigated existing classification approaches for classifying and representing
sequencing rationale. Based on this investigation, we identified the requirements to develop a formalized
representation that enables planners to define specific types of constraints and enables the correct
classification of activities. Thus far, we have formalized a constraint ontology that meets these design
requirements. In this research activity, we will test whether the ontology formalized so far is indeed
general enough to represent the rationale and flexibility of sequencing constraints in schedules from
24
several projects. Hence, we plan to test the generality and scalability of the ontology by representing the
sequencing rationale for three different construction schedules for three different contractors. We will
revise the ontology if necessary based on these tests, and we will select additional contractors and
schedules if the first set of tests shows that more tests are needed to provide evidence for the generality of
the sequence constraint ontology. We will test the power of the ontology by implementing a prototype
software tool that builds on the ontology, implements the classification mechanism and re-sequencing
process (see next three activities) and allows us to test whether planners can produce schedule alternatives
more quickly and accurately than possible with traditional CPM tools.
2) Test and refine reasoning mechanisms required for automating the classification process: Based on the
paper-based “thought” experiments described above, we identified the need for developing network search
algorithms to identify unique network chains. We also identified the need to develop a generalized set of
inference rules. We plan to test these mechanisms in the context of the schedules used in the first activity.
3) Test and refine generalized processes required to facilitate the identification and re-sequencing
process: We will apply the identification and re-sequencing processes identified in the paper-based
experiments using the CUB case example to some of re-sequencing examples collected in research
activity 1. We plan to refine the re-sequencing process according to the needs identified in the schedules
and re-scheduling processes from activity 1 to ensure that the formalized process is indeed general enough
for different projects. We will also verify that the proposed priority rules correctly guides planners in
delaying activities depending on their role and status in a CPM network.
4) Implement prototype system: We will implement the ontology, classification mechanisms, and resequencing process in a prototype system. We plan to use the JAVA programming language (Schlidt
2002). We will improve the classification mechanisms and re-sequencing process as needed for the
implementation. The implementation of the ontology, classification mechanism and re-sequencing process
is a first test that we have sufficiently formalized the underlying concepts.
5) Validate framework and test prototype system: We will test the software prototype and the power of the
underlying representation of the sequencing ontology, classification mechanism, and re-sequencing
process by conducting retrospective charrette tests (Clayton et al. 1998) using some of the schedules from
activity 1. We will conduct the charrette tests with graduate students in the Construction Engineering and
Management Program at Stanford University. A charrette test compares how accurately and quickly users
perform a task (in this case the generation of schedule alternatives) using a new method (the prototype
implemented in activity 4) and a traditional tool (a commercial CPM program). The charrette test will give
us insights into the power of our framework.
6) Apply framework and prototype to an ongoing construction project: We plan to apply the prototype and
its underlying framework to an ongoing construction project. We will identify a construction project that
requires acceleration and that could benefit from quick and frequent generation of schedule alternatives.
We will work with the project scheduler to test the usefulness of the constraint ontology, classification
mechanism, and re-sequencing process to provide scheduling support for an on-going project.
Summary and Implications of the Research
This paper described the results to date in determining how construction sequencing rationale can be
represented and leveraged to assist planners in developing sequencing alternatives correctly and rapidly.
Specifically, we introduced a formalized constraint ontology that enables planners to describe the rationale
and flexibility of constraints accurately and in a way that supports the quick generation of sequencing
alternatives. We showed how the proposed ontology can be used to formalize sequencing rationale
pertaining to the actual installation processes and associated interaction between multiple trades. We also
introduced an activity classification mechanism (i.e., inference rules and network search algorithm) that
25
leverages the ontology to automatically infer the role and status of activities. Finally, we introduced
formalized processes that leverage the ontology and classification mechanism to assist planners in
developing sequencing alternatives correctly and rapidly. To date, the usefulness of the formalizations has
been tested in the context of the small schedule from the FAB22 project. As discussed, we propose to test
the formalized ontology, classification mechanism and processes. The proposed test framework will
enable us to verify and refine the proposed ontology so that it is general enough to accurately describe
planners rationale in a project-specific context. The test framework will also enable us to verify and refine
the classification mechanism and re-sequencing process so that it can assist planners in making quick and
correct decisions when developing sequencing alternatives. We envision the proposed research will enable
better construction scheduling based on a more fundamental understanding of sequence relationships.
Specifically, we believe it will offer a fundamental framework for performing analyses of construction
schedules based on the rationale of activity sequences, enable planners to retain and reuse sequencing
knowledge, and enable a systematic and qualitative evaluation of activity sequences with respect to the
project-specific circumstances of a project.
References
Aalami, F., Levitt, R., and Fischer, M. (1998). "A Customizable Representation for Construction
Methods." Working Paper Nr. 51, CIFE, Stanford University, Stanford, CA.
Aalami, F., and Fischer, M. (1998a). "Construction Method Models: the Glue Between Design and
Construction." International Computing Congress, ASCE, Boston, October 18-21, Kelvin C.P. Wang (Ed.),
ASCE, 376-378.
Aalami, F., and Fischer, M. (1998b). "Joint Product and Process Model Elaboration Based on
Construction Method Models." The Life-Cycle of Construction IT Innovations: Technology transfer from
research to practice, CIB W78-98 Proceedings, Björk, Bo-Christer; and Jägbeck, Adina (Eds.),
Proceedings of the CIB Working Commission W78 Information Technology in Construction Conference,
June 3-5, Royal Institute of Technology, Stockholm, Sweden, 1-11.
Akinci, B., and Fischer, M. (2000). "4D WorkPlanner - A prototype system for automated generation of
construction spaces and analysis of time-space conflicts." Eighth International Conference on Computing
in Civil and Building Engineering (ICCCBE-VIII), Renate Fruchter, Feniosky Pena-Mora and W.M. Kim
Roddis (Eds.), August 14-17, 2000, Stanford University, 740-747.
Anthill, J., and Woodhead, R. (1990) “Critical Path Methods in Construction Practice,” Fourth Edition,
John Wiley & Sons, New York, NY.
Ballard, G., and Howell, G. (1997). “Shielding Production: An Essential Step in Production Control.” J. of
Constr. Engrg. and Mgmt., ASCE, 124(1), 11-17.
Birrell, G. S. (1980) “Construction Planning-Beyond the Critical Path.” J. of Constr. Engrg. and Mgmt.,
ASCE, 106(CO3), 389-407.
Burns, S., Liu, L., and Feng, C. (1996). “The LP/IP Hybrid Method for Construction Time-Cost Trade-Off
Analysis.” Constr. Mgmt. and Economics, 14, 265-276.
Choo, H. J. and Tommelein, I. D. (1999). "Parade of Trades: A Computer Game for Understanding
Variability and Dependence." Technical Report 99-1, Construction Engineering and Management
Program, Civil and Environmental Engineering Department, University of California, Berkeley, CA.
26
Chang, T. C., Ibbs, W., and Crandall, K. C. (1989). “Network Resource Allocation with Support of a
Fuzzy Expert System.” J. of Constr. Engrg. and Mgmt., ASCE, 116(2), 239-260.
Clayton, M., Kunz, J. and Fischer, M. (1998). "The Charrette Test Method," Technical Report 120, Center
for Integrated Facility Engienering, Stanford University, CA.
Crandall, K. C. (1985). “Resource Allocation with Project Manager Control” Construction Research
Applied to Practice, ASCE, C. W. Ibbs, ed., 1-17.
David, E. W. (1973). “Project Scheduling under Resource Constraints-Historic Review and Categorization
of Procedures.” AIIE Trans., 5(4), 297-312.
Darwiche, A., Levitt, R., and Hayes-Roth, B. (1988) “OARPLAN: Generating Project Plans by Reasoning
about Objects, Actions and Resources.” AI EDAM, 2(3), 169-181.
Echeverry, D., Ibbs, W., and Kim, S. (1991). “Sequence Knowledge for Construction Scheduling.” J. of
Constr. Engrg. and Mgmt., ASCE, 117(1), 118-130.
Feng, C., and Liu, L. (1997). “Using Genetic Algorithms to Solve Construction Time-Cost Trade-off
Problems.” J. of Constr. Engrg. and Mgmt., ASCE, 11(3), 184-189.
Fondahl, J. W. (1991). “Development of the Construction Engineer: Past Progress and Future Problems.” J.
Constr. Engrg. and Mgmt., ASCE, 117(3), 380-392.
Halpin, D., and Riggs, L. (1992). “Planning and Analysis of Construction Operations”, John Wiley and
Sons, Inc., New York.
Hegazy, T. (1999). “Optimization of Resource Allocation and Leveling Using Genetic Algorithms.” J. of
Constr. Engrg. and Mgmt., ASCE, 125(3), 167-175.
Hendrickson, C., Martinelli, D. and Rehak, D. (1987). “Hierarchical Rule-Based Activity Duration
Estimation.” J. of Constr. Engrg. and Mgmt., ASCE, 113(2), 288-301.
Hillier F. S., and Leiberman, G. J. (1995). “Introduction to Operations Research.” Sixth Edition, McGraw
Hill Inc.
Howell, G. (1999). “What is Lean Construction-1999.” Proc. 7th Ann. Conf. Intl. Group for Lean
Construction, 1-10, Berkeley, CA.
Jacobus Technology, Inc. (1997). “Plantspace Enterprise Navigator: User’s Guide.”Gainsberg, MD.
Kähkönen, K. (1993). “Modelling Activity Dependencies for Building Construction Project Scheduling.”
Technical Research Centre of Finland, VTT Publications, ESPOO.
Levitt, R. E., and Kunz, J. C. (1985). "Using Knowledge of Construction and Project Management for
Automated Schedule Updating." Project Management Journal, Vol. XVI, No. 5, 57-81.
Leu, S. S., Chen, A., and Yang, C. (1999). “Fuzzy Optimal Model for Resource-Constrained Construction
Scheduling.” J. of Constr. Engrg. and Mgmt., ASCE, 13(3), 207-216.
27
Li, H., Cao, J., and Love, P. (1999). “Using Machine Learning and GA to Solve Time-Cost Trade-Off
Problems.” J. of Constr. Engrg. and Mgmt., ASCE, 125(5), 347-353.
Mosehli, O., and Lorterapong, P. (1993). “Least Impact Algorithm for Resource Allocation.” Can. J. Civ.
Engrg., CSCE, 20 (2), 180-188.
Navinchandra, D., Siriam, D., and Logcher, R. (1988). “GHOST: A Project Network Generator.” J. of
Computing in Civil Engrg, ASCE, 2(3), 239-254.
Pfeiffenberger, P. J. and Curran, J. M. (1997). "Moving from 'push' to 'pull' in an engineer-to-order
environment," Annual International Conference Proceedings - American Production and Inventory
Control Society, 379-383.
Riley, D., and Sanvido, V. (1995). “Patterns of Construction Space Use in Multistory Buildings.” J. of
Constr. Engrg. and Mgmt, ASCE, 121(4), 464-473.
Schlidt, H. (2002). “Java 2: The Complete Reference”, 5th edition, Osborne McGraw-Hill; ISBN:
0072224207.
Seibert, L., Seppanen, P., Kunz, J., and Paulson, B. (1996). “Value-added Assessment of Construction
Plans.” Technical Report # 110, Center for Integrated Facility Engineering, Stanford University, Stanford,
CA.
Tommelein, I. D. and Ballard, G. (1997). "Coordinating Specialists." Tech. Report No. 97-8, Constr.
Engrg. and Mgmt. Program, Civil and Envir. Engrg. Dept., Univ. of California, Berkeley, CA.
Tommelein, I., D. (1998), “Pull-driven Scheduling Techniques for Pipe-Spool Installation:Simulation of a
Lean Construction Technique”, ASCE., J. of Constr. Engrg. And Mgmt., 124(4), 279-288.
Thabet, W., and Beliveau, Y. (1997). “Space-Constrained Resource-Constrained Scheduling System.” J.
of Constr. Engrg. and Mgmt., ASCE, 11(1), 48-59.
Zouein, P. and Tommelein, I. D. (1993). “Space Schedule Construction.” Proceedings of the 5th
International Conference on Computing in Civil engineering, New York, 1770-1777.
Zozaya-Gorostiza, C., Hendrickson, C., and Rehak, D. R. (1989). “Knowledge-Based Construction Project
Planning.” Excellence in the Constructed Project, ASCE, 217-222.
28
Download