U.S. patent application number 17/098214 was filed with the patent office on 2021-05-20 for generating building designs that optimize productivity of the building.
The applicant listed for this patent is AUTODESK, INC.. Invention is credited to David BENJAMIN, Damon LAU, James STODDART, Lorenzo VILLAGGI, Rui WANG, Lindsey WIKSTROM.
Application Number | 20210150442 17/098214 |
Document ID | / |
Family ID | 1000005260422 |
Filed Date | 2021-05-20 |
![](/patent/app/20210150442/US20210150442A1-20210520-D00000.png)
![](/patent/app/20210150442/US20210150442A1-20210520-D00001.png)
![](/patent/app/20210150442/US20210150442A1-20210520-D00002.png)
![](/patent/app/20210150442/US20210150442A1-20210520-D00003.png)
![](/patent/app/20210150442/US20210150442A1-20210520-D00004.png)
![](/patent/app/20210150442/US20210150442A1-20210520-D00005.png)
United States Patent
Application |
20210150442 |
Kind Code |
A1 |
BENJAMIN; David ; et
al. |
May 20, 2021 |
GENERATING BUILDING DESIGNS THAT OPTIMIZE PRODUCTIVITY OF THE
BUILDING
Abstract
One embodiment sets forth a computer-implemented method for
measuring productivity in buildings and workplaces. The method
includes receiving workstation data for a plurality of workstations
for the building and operation data for a plurality of operations
for the building; generating a building layout specifying, for each
workstation of the plurality of workstations, a respective location
of the workstation; generating, for each operation of the plurality
of operations, a respective productivity value based on the
workstation data, the operation data, and the locations of the
plurality of workstations; and calculating, based on the
productivity values of the plurality of operations, one or more
overall productivity values associated with the building
layout.
Inventors: |
BENJAMIN; David; (Brooklyn,
NY) ; LAU; Damon; (New York, NY) ; STODDART;
James; (Atlanta, GA) ; VILLAGGI; Lorenzo;
(Brooklyn, NY) ; WANG; Rui; (New York, NY)
; WIKSTROM; Lindsey; (West New York, NJ) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
AUTODESK, INC. |
San Rafael |
CA |
US |
|
|
Family ID: |
1000005260422 |
Appl. No.: |
17/098214 |
Filed: |
November 13, 2020 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62937190 |
Nov 18, 2019 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06Q 10/06393 20130101;
G06F 30/13 20200101; G06Q 10/101 20130101; G06Q 10/0633 20130101;
G06Q 50/163 20130101; G06F 16/9024 20190101; G06Q 10/047
20130101 |
International
Class: |
G06Q 10/06 20060101
G06Q010/06; G06Q 10/04 20060101 G06Q010/04; G06Q 50/16 20060101
G06Q050/16; G06Q 10/10 20060101 G06Q010/10; G06F 16/901 20060101
G06F016/901; G06F 30/13 20060101 G06F030/13 |
Claims
1. A computer-implemented method for determining performance
metrics related to a building, the method comprising: receiving
workstation data describing a plurality of workstations included in
the building and operation data describing one or more of
operations performed in the building; generating, based at least on
the workstation data, a building layout specifying, for each
workstation of the plurality of workstations, a respective location
of the workstation; generating, based on the building layout, an
analysis graph; and for each operation of the one or more
operations: generating one or more paths based on the analysis
graph; and computing, based at least on the one or more paths, a
productivity value associated with the operation.
2. The method of claim 1, wherein generating the one or more paths
is further based on one or more workstations associated with the
operation.
3. The method of claim 1, wherein generating the one or more paths
is further based on one or more transport restrictions associated
with the operation.
4. The method of claim 1, wherein generating the one or more paths
is further based on one or more workflows associated with the
operation.
5. The method of claim 1, wherein each operation of the one or more
operations is associated with a plurality of operation tasks, and
wherein generating the one or more paths includes generating, for
each operation task of the plurality of operation tasks, a
respective path corresponding to the operation task.
6. The method of claim 5, wherein computing the productivity value
associated with the operation includes computing, for each
operation task of the plurality of operation tasks, a respective
productivity value associated with the operation task based on the
path corresponding to the operation task.
7. The method of claim 1, further comprising, for each operation of
the one or more operations: determining, based on the operation
data, whether the operation is associated with a travel burden; and
in response to determining that the operation is associated with
the travel burden, adjusting the productivity value associated with
the operation.
8. The method of claim 1, further comprising, for each operation of
the one or more operations: determining, based on the one or more
paths, whether the operation is affected by congestion; and in
response to determining that the operation is affected by
congestion, adjusting the productivity value associated with the
operation.
9. The method of claim 1, further comprising computing one or more
overall productivity values associated with the building layout
based on the productivity values associated with the one or more
operations.
10. The method of claim 1, wherein generating the building layout
includes: determining a location of a first workstation of the
plurality of workstations; determining that a location of a second
workstation of the plurality of workstations depends on the
location of the first workstation; and determining the location of
the second workstation based on the location of the first
workstation.
11. The method of claim 10, wherein determining that the location
of the second workstation depends on the location of the first
workstation is based on a location restriction associated with the
second workstation.
12. The method of claim 10, wherein determining that the location
of the second workstation depends on the location of the first
workstation is based on one or more of: an operation associated
with the first workstation, an operation associated with the second
workstation, a category associated with the first workstation, a
category associated with the second workstation, an operation task
associated with the first workstation, or an operation task
associated with the second workstation.
13. One or more non-transitory computer readable media storing
instructions that, when executed by one or more processors, cause
the one or more processors to perform the steps of: receiving
workstation data describing a plurality of workstations included in
the building and operation data describing one or more of
operations performed in the building; generating, based at least on
the workstation data, a building layout specifying, for each
workstation of the plurality of workstations, a respective location
of the workstation; generating, based on the building layout, an
analysis graph; and for each operation of the one or more
operations: generating one or more paths based on the analysis
graph; and computing, based at least on the one or more paths, a
productivity value associated with the operation.
14. The one or more non-transitory computer readable media of claim
13, wherein generating the one or more paths is further based on
one or more workstations associated with the operation.
15. The one or more non-transitory computer readable media of claim
13, wherein generating the one or more paths is further based on
one or more transport restrictions associated with the
operation.
16. The one or more non-transitory computer readable media of claim
13, wherein generating the one or more paths is further based on
one or more workflows associated with the operation.
17. The one or more non-transitory computer readable media of claim
13, wherein each operation of the one or more operations is
associated with a plurality of operation tasks, and wherein
generating the one or more paths includes generating, for each
operation task of the plurality of operation tasks, a respective
path corresponding to the operation task.
18. The one or more non-transitory computer readable media of claim
17, wherein computing the productivity value associated with the
operation includes computing, for each operation task of the
plurality of operation tasks, a respective productivity value
associated with the operation task based on the path corresponding
to the operation task.
19. The one or more non-transitory computer readable media of claim
13, further comprising, for each operation of the one or more
operations: determining, based on the operation data, whether the
operation is associated with a travel burden; and in response to
determining that the operation is associated with the travel
burden, adjusting the productivity value associated with the
operation.
20. A computer system, comprising: one or more memories storing
instructions; and one or more computer processors for processing
the instructions to: receive workstation data describing a
plurality of workstations included in the building and operation
data describing one or more of operations performed in the
building; generate, based at least on the workstation data, a
building layout specifying, for each workstation of the plurality
of workstations, a respective location of the workstation;
generate, based on the building layout, an analysis graph; and for
each operation of the one or more operations: generate one or more
paths based on the analysis graph; and compute, based at least on
the one or more paths, a productivity value associated with the
operation.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the priority benefit of the United
States Provisional Patent Application having Ser. No. 62/937,190
(Attorney Docket AUTO1468USL) and filed on Nov. 18, 2019. The
subject matter of this related application is hereby incorporated
herein by reference.
BACKGROUND
Field of the Various Embodiments
[0002] The present invention relates generally to computer science
and computer-aided design and, more specifically, to
computer-implemented techniques for generating building designs
that optimize productivity of the building.
Description of the Related Art
[0003] Generating a building design and layout, such as for a
building or workplace, oftentimes is a complex process where many
different design goals as well as numerous constraints and
requirements must be considered. For example, when designing a
building or other similarly intricate industrial building, a
designer has to consider, among other things, operating
requirements, production requirements, architectural and
engineering constraints, cost constraints, and building site
constraints.
[0004] With respect to the operating requirements of a typical
industrial building, the layout of a building affects the overall
of the productivity of the building. For example, the placement of
workstations, supplies, corridors, and tracks within the building
affect how building workers navigate the building while performing
tasks. Additionally, the building may be used to create multiple
components, and building operations may include different
schedules, work shifts, and tasks, which result in complex flows of
building personnel and parts. When designing such a building,
simulation methods, such as productivity simulation, that are
incorporated into computer-aided design (CAD) software are
typically used by a designer to model and simulate airflow and heat
transfer of the building prior to construction. In this way, the
designer can assess the effectiveness of a layout in terms of
productivity of the building.
[0005] One drawback to using conventional CAD software when
designing industrial buildings is that much of the information
needed to properly model and simulate the productivity of a
building via the simulation methods incorporated into conventional
CAD software is not available or determined until the end of the
building design process. In particular, due to the various elements
that affect productivity in a building, typical approaches for
measuring productivity rely on tracking and measuring actual
productivity after a layout is implemented and in use. As a result,
generating layouts for an industrial building using conventional
CAD software involves an ad-hoc trial-and-error approach.
[0006] In the trial-and-error approach of using CAD software to
design layouts, each layout must be designed and implemented before
productivity can be measured. Changes to productivity caused by
adjustments to the layout or by different layouts cannot be
determined until adjustments to the layout or a new layout has been
implemented. If a new or modified layout results in a decrease in
productivity, the decrease is not detected until after the new or
modified layout has already been implemented, which is undesirable
given the amount of time and effort taken to implement a building
layout. In addition, unless each change to the layout is small or
incremental, determining which changes to which features of the
layout resulted in an increase or decrease in productivity is
difficult to determine. As a result, the building layouts
industrial buildings generated using conventional CAD software
typically fail to provide optimal levels of productivity and
efficiency for those buildings.
[0007] As the foregoing illustrates, what is needed in the art are
more effective techniques for generating layouts for buildings that
account for productivity of those buildings.
SUMMARY
[0008] One embodiment of the present application sets forth a
computer-implemented method for measuring productivity in buildings
and workplaces. The method includes receiving workstation data for
a plurality of workstations for the building and operation data for
a plurality of operations for the building; generating a building
layout specifying, for each workstation of the plurality of
workstations, a respective location of the workstation; generating,
for each operation of the plurality of operations, a respective
productivity value based on the workstation data, the operation
data, and the locations of the plurality of workstations; and
calculating, based on the productivity values of the plurality of
operations, one or more overall productivity values associated with
the building layout.
[0009] At least one technical advantage of the disclosed techniques
relative to the prior art is that the disclosed techniques can be
incorporated into a CAD application to enable the CAD application
to automatically explore a design space to identify building
layouts that optimize productivity of the building. Accordingly,
with the disclosed techniques, a CAD application can generate a
substantially larger number of building designs that, for example,
are optimized for productivity in the specific function of the
building, relative to a conventional CAD application. This
functionality, which is not available in conventional CAD
applications, increases the likelihood that an optimal layout
design can be automatically generated and identified for a given
building design. These technical advantages represent one or more
tangible and meaningful technological improvements over
conventional CAD applications.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] So that the manner in which the above recited features of
the various embodiments can be understood in detail, a more
particular description of the inventive concepts, briefly
summarized above, may be had by reference to various embodiments,
some of which are illustrated in the appended drawings. It is to be
noted, however, that the appended drawings illustrate only typical
embodiments of the inventive concepts and are therefore not to be
considered limiting of scope in any way, and that there are other
equally effective embodiments.
[0011] FIG. 1 is a schematic diagram illustrating a computing
system configured to implement one or more aspects of the present
disclosure.
[0012] FIG. 2 is a more detailed illustration of the database and
productivity calculation engine of FIG. 1, according to various
embodiments of the present disclosure.
[0013] FIG. 3 is a flowchart of method steps for productivity
calculation performed by the productivity calculation engine of
FIG. 1, according to various embodiments of the present
disclosure.
[0014] FIG. 4 is a flowchart of method steps for layout generation
performed by the productivity calculation engine of FIG. 1,
according to various embodiments of the present disclosure.
[0015] FIG. 5 is a flowchart of method steps for operation
productivity and overall productivity calculation performed by the
productivity calculation engine of FIG. 1, according to various
embodiments of the present disclosure.
DETAILED DESCRIPTION
[0016] In the following description, numerous specific details are
set forth to provide a more thorough understanding of the various
embodiments. However, it will be apparent to one of skilled in the
art that the inventive concepts may be practiced without one or
more of these specific details.
[0017] FIG. 1 illustrates a computing device 100 configured to
implement one or more aspects of the present disclosure. As shown,
computing device 100 includes an interconnect (bus) 112 that
connects one or more processing units 102, an input/output (I/O)
device interface 104 coupled to one or more input/output (I/O)
devices 108, memory 116, a storage 114, and a network interface
106.
[0018] Computing device 100 includes a desktop computer, a laptop
computer, a smart phone, a personal digital assistant (PDA), tablet
computer, or any other type of computing device configured to
receive input, process data, and optionally display images, and is
suitable for practicing one or more embodiments. Computing device
100 described herein is illustrative and that any other technically
feasible configurations fall within the scope of the present
disclosure.
[0019] Processing unit(s) 102 includes any suitable processor
implemented as a central processing unit (CPU), a graphics
processing unit (GPU), an application-specific integrated circuit
(ASIC), a field programmable gate array (FPGA), an artificial
intelligence (AI) accelerator, any other type of processing unit,
or a combination of different processing units, such as a CPU
configured to operate in conjunction with a GPU. In general,
processing unit(s) 102 may be any technically feasible hardware
unit capable of processing data and/or executing software
applications. Further, in the context of this disclosure, the
computing elements shown in computing device 100 may correspond to
a physical computing system (e.g., a system in a data center) or
may be a virtual computing instance executing within a computing
cloud.
[0020] In one embodiment, I/O devices 108 include devices capable
of providing input, such as a keyboard, a mouse, a touch-sensitive
screen, and so forth, as well as devices capable of providing
output, such as a display device. Additionally, I/O devices 108 may
include devices capable of both receiving input and providing
output, such as a touchscreen, a universal serial bus (USB) port,
and so forth. I/O devices 108 may be configured to receive various
types of input from an end-user (e.g., a designer) of computing
device 100, and to also provide various types of output to the
end-user of computing device 100, such as displayed digital images
or digital videos or text. In some embodiments, one or more of I/O
devices 108 are configured to couple computing device 100 to a
network 110.
[0021] Network 110 includes any technically feasible type of
communications network that allows data to be exchanged between
computing device 100 and external entities or devices, such as a
web server or another networked computing device. For example,
network 110 may include a wide area network (WAN), a local area
network (LAN), a wireless (WiFi) network, and/or the Internet,
among others.
[0022] Storage 114 includes non-volatile storage for applications
and data, and may include fixed or removable disk drives, flash
memory devices, and CD-ROM, DVD-ROM, Blu-Ray, HD-DVD, or other
magnetic, optical, or solid-state storage devices. Productivity
calculation engine 118 and database 120 may be stored in storage
114 and loaded into memory 116 when executed.
[0023] Memory 116 includes a random-access memory (RAM) module, a
flash memory unit, or any other type of memory unit or combination
thereof. Processing unit(s) 102, I/O device interface 104, and
network interface 106 are configured to read data from and write
data to memory 116. Memory 116 includes various software programs
that can be executed by processor(s) 102 and application data
associated with said software programs, including productivity
calculation engine 118 and database 120. Productivity calculation
engine 118 and database 120 are described in further detail below
with respect to FIG. 2.
[0024] FIG. 2 is a more detailed illustration of productivity
calculation engine 118 and database 120 of FIG. 1, according to
various embodiments of the present disclosure. As shown,
productivity calculation engine 118 includes, without limitation,
layout generation module 220, analysis graph generation module 222,
path generation module 224, simulation module 226, and layout
productivity values 228.
[0025] Productivity calculation engine 118 automatically calculates
one or more productivity values associated with a particular layout
of a building, based on data describing the building and building
operations. Each productivity value indicates an estimated
measurement of the productivity of one or more operations when the
one or more operations are performed in the building using the
particular layout. In some embodiments, productivity calculation
engine 118 is part of an application for designing or optimizing
layouts of buildings such as buildings or other workplaces. In
other embodiments, productivity calculating engine 118 is a
separate application or tool from an application that is used to
design or optimize layouts of buildings or other workplaces.
Productivity calculation engine 118 may receive a building
information generated by another application and generate
productivity values based on the received building layout. For
example, productivity calculation engine 118 may receive a 3D model
of a building and generate one or more productivity values based on
the 3D model of the building and information describing operations
performed in the building. Additionally, productivity calculation
engine 118 may provide the one or more productivity values to a
user through a graphical user interface, or to other applications
for further analysis of the building and the building layout.
[0026] In one or more embodiments, productivity calculation engine
118 obtains data describing the building, operations of the
building, and other data that may be used by productivity
calculation engine 118 to calculate productivity of the building
from database 120. As shown in FIG. 1, database 120 includes,
without limitation, operation data 210, workstation data 212, and
geometry data 214.
[0027] Operation data 210 includes data describing one or more
operations of the building. For example, data describing an
operation may include data indicating workstations, operators,
personnel, schedules, zones, positions, tools, storage facilities,
parts, materials, equipment, transport requirements or
restrictions, or other elements and features associated with the
operation. Additionally, the data describing the operation may
include data describing the elements and features associated with
the operation, such as weights of parts and materials associated
with the operation.
[0028] In one or more embodiments, the data describing an operation
includes data describing a workflow of the operation. The data
describing the workflow of the operation indicates the steps taken
when performing the operation. Additionally, in some embodiments,
the data describing the workflow of the operation indicates an
order in which workstations, tools, equipment, and materials are
accessed by workers when performing the steps of the operation.
Additionally, in some embodiments, the data describing the workflow
of the operation may indicate an amount of time spent when
performing each step of the operation.
[0029] In one or more embodiments, each operation is associated
with a plurality of operation tasks. The data describing an
operation includes data indicating the plurality of operation
tasks. Additionally, in some embodiments, the data describing the
operation includes data describing the plurality of operation
tasks. For example, data describing an operation task may include
data indicating the operation associated with the task,
workstations, operators, personnel, schedules, zones, positions,
tools, storage facilities, parts, materials, equipment, transport
requirements or restrictions, or other elements and features
associated with the operation task. Additionally, the data
describing the operation task may include data describing the
elements and features associated with the operation task, such as
weights of parts and materials associated with the operation
task.
[0030] In one or more embodiments, the data describing an operation
task includes data describing a workflow of the operation task. The
data describing the workflow of the operation task indicates the
steps taken when performing the operation task. Additionally, in
some embodiments, the data describing the workflow of the operation
task indicates an order in which workstations, tools, equipment,
and materials are accessed by workers when performing the steps of
the operation task. Additionally, in some embodiments, the data
describing the workflow of the operation may indicate an amount of
time spent when performing each step of the operation.
[0031] Workstation data 212 includes data describing one or more
workstations or workspaces of the building. For example, data
describing a workstation may include data indicating one or more
operations associated with the workstation, one or more operation
tasks associated with the workstation, dimensions of the
workstation, a shape of the workstation, or other information
related to the workstation.
[0032] In one or more embodiments, the data describing a
workstation or workspace includes data describing location
restrictions for the workstation or workspace. A location
restriction indicates that the location of the workstation or
workspace is dependent on the location or placement of other
workspaces, workstations, tools or materials, storage facilities,
transport, or other elements of the building. For an element, the
location restriction may indicate that the workstation or workspace
should be adjacent to the element, within a certain distance of the
element, within the same zone or area of the building as the
element, within a certain configuration with the element, or other
location-based requirements.
[0033] Geometry data 214 includes data describing the building
and/or site in which the layout is placed. For example, the data
describing a building may include data indicating a size of the
building, a shape of the building, a footprint of the building, an
orientation of the building structural elements of the building,
fixed equipment within the building and locations of the fixed
equipment, and infrastructure of the building such as loading
docks, entrances, exits, and mechanical systems. As another
example, the data describing a site may include data indicating a
size of the site, a shape of the site, an orientation of the site,
fixed equipment within the site and locations of the fixed
equipment, elevation(s) of the site, restriction(s) on the site,
and infrastructure of the site such as roads and paths. In some
embodiments, geometry data 214 includes a 3D model of the building
and/or the site.
[0034] In some embodiments, geometry data 214 includes a layout
indicating locations of workstations or workspaces within the
building. The layout may be a layout that was generated by
productivity calculation engine 118, a layout generated by another
application or tool, or may be a layout designed by a user. In some
embodiments, geometry data 214 includes a 3D model of the building,
and the interior of the 3D model includes workstations and
workspaces within the building. In some embodiments, productivity
calculation engine 118 generates the layout for the building based
on the information describing the building.
[0035] In operation, layout generation module receives operation
data 210 and workstation data 212, and generates a layout 230.
Layout 230 indicates locations within a building, such as a
building, for a plurality of workstations or workspaces of the
building. In some embodiments, layout 230 also indicates locations
within the building of other rooms or elements of the building,
such as storage facilities, tools, supplies, entrances, exits,
elevators, stairs, material transport paths or structures, or other
rooms or elements used by the plurality of operations.
[0036] In one or more embodiments, generating the layout 230 is
based on a pre-defined building geometry. For example, geometry
data 214 may include data indicating the size and shape of a
building. As another example, geometry data 214 may include a 3D
model or floorplan of the building. Layout generation module 220
receives geometry data 214 and determines locations for the
plurality of workstations within the boundaries of the building
indicated by the geometry data 214.
[0037] In one or more embodiments, generating the layout 230 is
based on a pre-defined site geometry. For example, geometry data
214 may include data indicating the size and shape of a site. As
another example, geometry data 214 may include a 3D model of the
site or a site plan for the site. Layout generation module 220
receives geometry data 214 and determines locations for the
plurality of workstations within the boundaries of the site
indicated by the geometry data 214.
[0038] In one or more embodiments, generating the layout 230
includes generating geometry data for the building. The geometry
data for the building may include data indicating a size and shape
of the building, exterior walls of the building, interior walls of
the building such as walls of workstations and other rooms, and
sizes and shapes of pathways within the building such as stairs,
transport paths, corridors, and hallways. For example, after
determining locations for a plurality of workstations, layout
generation module 220 may place exterior walls of the building
around the plurality of workstations and place interior walls and
pathways between the workstations.
[0039] In some embodiments, generating the layout 230 includes
determining one or more location restrictions for a workstation and
determining a location of the workstation based on the one or more
location restrictions. Each location restriction indicates that the
location of the workstation depends on the location or placement of
another workspace, workstation, particular tools or materials,
storage facility, transport, or other element of the building.
Additionally, the location restriction may indicate that the
workstation should be adjacent to the element, within a certain
distance of the element, within the same zone or area of the
building as the element, within a certain configuration with the
element, or other location-based requirements. In an embodiment,
determining the one or more location restrictions for the
workstation includes determining, based on workstation data 212,
whether the workstation is associated with any location
restrictions. If the workstation is associated with a location
restriction, then layout generation module 220 determines a
location of the workstation based on the location of the element
indicated by the location restriction and the location-based
requirement indicated by the location restriction.
[0040] In one or more embodiments, to generate layout 230, layout
generation module 220 selects a first workstation from the
plurality of workstations. Layout generation module 220 determines
a location for the first workstation. In some embodiments,
determining a location for the first workstation is based on one or
more of: the size and shape of the first workstation, the size and
shape of the building, and the size and shape of the site. In some
embodiments, the location for the first workstation may be selected
randomly. For example, the location for the first workstation may
be any available location within the building or site. In some
embodiments, the location of the first workstation is selected from
one or more pre-determined or pre-configured locations. For
example, layout generation module 220 may always select the
top-right corner of the building as the location for the first
workstation. As another example, each corner of the building may be
a potential location for the first workstation, and layout
generation module 220 selects one of the corners of the building as
the location for the first workstation.
[0041] Additionally, in some embodiments, layout generation module
220 determines an orientation of the first workstation. In some
embodiments, determining an orientation for the first workstation
is based on one or more of: the size and shape of the first
workstation, the size and shape of the building, and the size and
shape of the site. In some embodiments, the orientation for the
first workstation may be selected randomly. For example, the
orientation for the first workstation may be any direction where
the access point or entrance to the workstation does not face a
wall or other obstruction, or is a sufficient distance from a wall
or other obstruction for a worker to access or enter the
workstation. In some embodiments, the orientation of the first
workstation is selected from one or more pre-determined or
pre-configured orientations. For example, if the first workstation
is located against a wall of the building, layout generation module
220 may always orient the first workstation so that the access
point or entrance of the building is facing away from the wall.
[0042] In some embodiments, after determining the location for the
first workstation, layout generation module 220 determines whether
locations of any additional workstations depend on the location of
the first workstation. In response to determining that locations of
one or more additional workstations depend on the location of the
first workstation, layout generation module 220 determines a
respective location for each additional workstation of the one or
more additional workstations based on the location of the first
workstation.
[0043] In some embodiments, determining whether locations of any
additional workstations depend on the location of the first
workstation includes determining if any workstations are associated
with a location restriction that specifies the first workstation.
In response to determining that a second workstation is associated
with a location restriction that specifies the first workstation,
layout generation module 220 determines a location for the second
workstation based on the location restriction and the location of
the first workstation. Additionally, in some embodiments, layout
generation module 220 may determine the location for the second
workstation based on any additional location restrictions
associated with the second workstation. If the second workstation
is associated with location restrictions that specify other
workstations whose location has not been determined, layout
generation module 220 may determine the location for the second
workstation after locations have been determined for the other
workstations.
[0044] In some embodiments, determining whether locations of any
additional workstations depend on the location of the first
workstation includes determining if any workstations are associated
with the same operation, operation category, or operation task as
the first workstation. In response to determining that a second
workstation is associated with the same operation, operation
category, or operation task as the first workstation, layout
generation module 220 determines a location for the second
workstation based on the location of the first workstation. For
example, workstations associated with the same operation, operation
category, or operation task may be placed near each other in the
layout. Additionally, in some embodiments, layout generation module
220 determines the location for the second workstation based on
data describing the operation, operation category, or operation
task. For example, the location of the second workstation may be
based on an order in which the second workstation is accessed by an
operation or operation task workflow, relative to the first
workstation and other workstations used by the operation or
operation task workflow.
[0045] In one or more embodiments, after layout generation module
220 determines a location for the first workstation and any
additional workstations, layout generation module 220 selects a
next workstation from any remaining workstations whose locations
have not been determined. Layout generation module 220 determines a
location for the next workstation and any additional workstations
whose locations depend on the location of the next workstation. The
above may be repeated until a respective location has been
determined for all workstations of the plurality of
workstations.
[0046] Analysis graph generation module 222 receives layout 230,
operation data 210, and workstation data 212, and generates an
analysis graph 240. Analysis graph 240 comprises a plurality of
nodes and a plurality of edges connecting the nodes. Each node of
the plurality of nodes corresponds to a location of a workstation
indicated by the layout. Additionally, in some embodiments, the
analysis graph may include one or more nodes that correspond to the
locations of other elements of the building layout such as
workstation access points, tool and supply storage facilities, and
elevators. Each edge of the graph corresponds to a pathway
connecting two workstations, such as a hallway, corridor, stairway,
or other transport path.
[0047] In one or more embodiments, each node of the plurality of
nodes is associated with data describing the corresponding
workstation or other element of the building layout. For example,
data describing a workstation or building element may include data
indicating the workstation or building element that corresponds to
the node, one or more operations associated with the workstation or
building element, one or more operation tasks associated with the
workstation or building element, or other information related to
the workstation or building element.
[0048] In one or more embodiments, each edge of the plurality of
edges is associated with data describing the corresponding pathway.
For example, data describing a pathway may include data indicating
the pathway that corresponds to the edge, a length of the pathway,
a width of the pathway, a height of the pathway, if the pathway is
a transport path a component the transport path is configured to
transport, or other information related to the pathway. In some
embodiments, if a pathway includes a turn, the data describing the
pathway may include data indicating an angle of the turn.
[0049] Path generation module 224 receives analysis graph 240 and
operation data 210, and generates a plurality of paths 250. In some
embodiments, each path 250 corresponds to a respective operation of
the one or more operations. The path corresponding to an operation
indicates, for the operation, a path through the building that may
be traveled by a worker while the worker performs the operation. In
some embodiments, each operation is associated with a plurality of
operation task. Each path corresponds to a respective operation
task of the one or more operations. The path corresponding to an
operation task indicates, for the operation task, a path through
the building that may be traveled by a worker while the worker
performs the operation task.
[0050] In one or more embodiments, generating a path 250 for an
operation or operation task is based on the analysis graph and the
workstations used by the operation or operation task. Path
generation module 224 determines, based on the operation data 210,
one or more workstations used by the operation or operation task.
Path generation module 224 calculates a shortest path through the
analysis graph 240 that includes the nodes corresponding to the one
or more workstations. Additionally, in some embodiments, path
generation module 224 determines an order in which the workstations
are accessed by workers when performing steps of the operation or
operation task. Calculating the shortest path through the analysis
graph 240 includes determining the shortest path that traverses the
nodes corresponding to the one or more workstations in the order in
which the one or more workstations are accessed by workers.
[0051] In one or more embodiments, generating a path 250 for an
operation or operation task further includes determining, based on
the operation data 210, one or more elements of the building, such
as workstation access points, tool or supply storage facilities,
equipment, materials, or elevators, that are used by the operation
or operation task. Path generation module 224 calculates the
shortest path through the analysis graph 240 that includes the one
or more elements of the building and the one or more workstations.
Additionally, in some embodiments, path generation module 224
determines an order in which the workstations and building elements
are accessed by workers when performing steps of the operation or
operation task. Calculating the shortest path through the analysis
graph 240 includes determining the shortest path that traverses the
nodes corresponding to the one or more workstations and the one or
more elements of the building in the order in which the one or more
workstations and the one or more elements of the building are
accessed by workers.
[0052] In one or more embodiments, generating a path 250 for an
operation or operation task further includes determining, based on
the operation data 210, one or more transport requirements or
restrictions associated with the operation or operation task. For
example, a transport requirement or restriction may indicate that,
for a particular step of the operation or operation task, a
particular transport path must be used. As another example, the
transport requirement or restriction may indicate that, for the
particular step, corridors and hallways must be greater than a
specified width, greater than a specified height, or cannot include
turns smaller than a specified number of degrees. Calculating the
shortest path through the analysis graph 240 includes determining
the shortest path that follows the one or more transport
requirements or restrictions associated with the operation or
operation task.
[0053] Simulation module 226 receives the plurality of paths 250
and generates one or more layout productivity values 228 for the
layout of the building. Each layout productivity value 228
indicates an estimated measurement of the productivity of one or
more operations when the one or more operations are performed in
the building using the particular layout.
[0054] In one or more embodiments, each layout productivity value
228 corresponds to a respective operation of one or more operations
of the building. Generating the layout productivity value 228
includes determining a path 250 associated with the corresponding
operation and calculating the layout productivity value 228 based
on the path 250. In some embodiments, the layout productivity value
corresponds to the length of the path. For example, the layout
productivity value may be the number of edges traversed in the
path. As another example, each edge in the analysis graph may be
associated with a value, and the layout productivity value may be
the sum of the values associated with edges traversed in the path.
In other embodiments, the layout productivity value corresponds to
the length of the pathways traversed by the path. For example, each
edge in the analysis graph may be associated with a pathway and
each pathway may be associated with data indicating a length of the
pathway. The layout productivity value may be the sum of the
lengths of pathways associated with edges traversed in the
path.
[0055] In one or more embodiments, each operation is associated
with a plurality of operation tasks, and each layout productivity
value 228 indicates an overall estimated measurement of the
productivity of the plurality of operation tasks associated with
the corresponding operation. Generating the layout productivity
value 228 includes determining a plurality of paths 250 associated
with plurality of operation tasks of the corresponding operation
and calculating a task productivity value associated with each
operation task of the plurality of operation tasks based on the
path corresponding to the operation task. In some embodiments, the
layout productivity value 228 for an operation is a sum of the task
productivity values associated with the plurality of operation
tasks of the operation.
[0056] In some embodiments, a task productivity value corresponds
to the length of the path. For example, the task productivity value
may be the number of edges traversed in the path. As another
example, each edge in the analysis graph may be associated with a
value, and the task productivity value may be the sum of the values
associated with edges traversed in the path. In other embodiments,
the task productivity value corresponds to the length of the
pathways traversed by the path. For example, each edge in the
analysis graph may be associated with a pathway and each pathway
may be associated with data indicating a length of the pathway. The
task productivity value may be the sum of the lengths of pathways
associated with edges traversed in the path.
[0057] In one or more embodiments, each layout productivity value
228 corresponds to a respective category or other grouping of the
one or more operations of the building. Each layout productivity
value 228 indicates an overall estimated measurement of
productivity of operations in the corresponding category or group.
Generating the layout productivity value 228 includes calculating
an operation productivity value associated with each operation in
the category or group. Calculating an operation productivity value
associated with an operation may be performed in a manner similar
to that discussed above for calculating a layout productivity value
that is associated with a single operation. In some embodiments,
the layout productivity value 228 is a sum of the operation
productivity values associated with operations in the corresponding
category or group.
[0058] In one or more embodiments, generating a layout productivity
value includes determining whether a travel burden is associated
with an operation or operation task. A travel burden may be, for
example, if the operation or operation task includes traversing
stairs, using an elevator, or transporting materials or parts over
a specified weight. In response to determining that a travel burden
is associated with the operation or operation task, simulation
module 226 adjusts or weighs the productivity value associated with
the operation or operation task. In some embodiments, adjusting or
weighing the productivity value may be based on the severity of the
travel burden. The amount that the productivity value for an
operation or operation task is weighted or adjusted may be relative
to the severity of the travel burden of other operations or
operation tasks. For example, the productivity value for a first
operation that includes transporting a heavy object may be scaled
by a first amount, and the productivity value for a second
operation that includes transporting a heavier object may be scaled
by a second amount that is greater than the first amount.
[0059] In one or more embodiments, generating a layout productivity
value includes determining a plurality of operations or operation
tasks that are affected by congestion in the building when the
plurality of operations are performed. Congestion in the building
may occur, for example, if the plurality of operations or operation
tasks use the same pathway or the same workstation or other element
of the building.
[0060] In some embodiments, determining the plurality operations or
operation tasks that are affected by congestion includes
determining that a set of paths traverse one or more of the same
edges. Each operation or operation task in the plurality of
operations or operation tasks corresponds to a path in the set of
paths. In some embodiments, simulation module 226 determines, for
each path, a number of edges that are traversed by other paths.
Additionally, simulation module 226 determines, for each edge that
is traversed by other paths, a number of other paths that traverse
the edge.
[0061] In some embodiments, determining the plurality of operations
or operation tasks that are affected by congestion includes
determining that a set of paths traverse one or more of the same
nodes. Each operation or operation task in the plurality of
operations or operation tasks corresponds to a path in the set of
paths. In some embodiments, simulation module 226 determines, for
each path, a number of nodes that are traversed by other paths.
Additionally, simulation module 226 determines, for each node that
is traversed by other paths, a number of other paths that traverse
the node.
[0062] In some embodiments, determining that a set of paths
traverse one or more of the same nodes and/or one or more of the
same edges is based on schedules of the operations or operation
tasks associated with the paths 250. If two paths traverse the same
edge or not, but do not traverse the edge or node at the same time
or during the same time period, then simulation module 226
determines that the two paths do not traverse the same edge or node
for the purpose of determining whether the corresponding operations
or operation tasks are affected by congestion. For example, if a
first path and a second path both traverse an edge, but simulation
module 226 the first path and second path traverse the edge at
different times, then simulation module 226 may determine that the
first path and the second path do not traverse the same edge when
determining the set of paths that traverse one or more of the same
edges.
[0063] In one or more embodiments, simulation module 226
determines, for each path, a time or time period in which the path
traverses each edge and/or node of the path. For example, operation
data 210 may include data indicating a schedule for an operation or
operation task. Simulation module 226 determines the time or time
period in which a path traverses each edge and/or node of the path
based on the schedule of the corresponding operation or operation
task. Additionally, in some embodiments, simulation module 226
determines an amount of time taken to traverse each edge and/or
node of the path. Determining the time or time period in which the
path traverses an edge or a node is further based on the amount of
time required to traverse each edge and/or node of the path.
[0064] As an example, operation data 210 may include data
indicating an amount of time a worker is expected to spend during
each step of the operation or operation task. Simulation module 226
determines the amount of time in which a path traverses each node
of the path based on the amount of time a worker is expected to
spend at the location corresponding to the node when performing the
corresponding operation or operation task. As another example,
simulation module 226 may estimate an amount of time required to
traverse a path based on a length of the path and an estimated
movement speed of a worker on the pathway corresponding to the
path.
[0065] In response to determining that the plurality of operations
or operation tasks are affected by congestion, simulation module
226 adjusts or weighs the productivity value associated with each
operation or operation task of the plurality of operations or
operation tasks. Additionally, in some embodiments, adjusting or
weighing the productivity value includes determining an amount of
congestion that affects the operation or operation task and
adjusting or weighing the productivity value based on the amount of
congestion.
[0066] In some embodiments, the amount of congestion affecting an
operation or operation task may be based on the number of edges
traversed by the corresponding path that are traversed by other
paths; for each edge that is traversed by other paths, the number
of other paths that also traverse the edge; the number of nodes
traversed by the corresponding path that are traversed by other
paths; for each node that is traversed by other paths, the number
of other paths that also traverse the node; or any combination
thereof.
[0067] In some embodiments, the amount by which the productivity
value of an operation or operation task is weighted or adjusted is
relative to the amount of congestion affecting other operations or
operation tasks. For example, a first operation may correspond to a
path that traverses the same edge as a first number of other paths
and a second operation may correspond to a path that traverses the
same edge as a second number of other paths, where the second
number is greater than the first number. The productivity value for
the first operation may be scaled by a first amount, and the
productivity value for the second operation may be scaled by a
second amount that is greater than the first amount.
[0068] FIG. 3 is a flowchart of method steps for productivity
calculation performed by the productivity calculation engine 118 of
FIG. 1, according to various embodiments of the present disclosure.
Although the method steps are described in conjunction with the
systems of FIGS. 1 and 2, persons skilled in the art will
understand that any system configured to perform the method steps
in any order falls within the scope of the present disclosure.
[0069] In step 302, layout generation module 220 receives
workstation data 212 and operation data 210 from database 120.
Workstation data 212 includes data describing a plurality of
workstations of a building. Operation data 210 includes data
describing one or more operations of the building.
[0070] In some embodiments, layout generation module 220 also
receives geometry data 214 from database 120. In other embodiments,
layout generation module 220 receives geometry data 214 from
another application, tool, module, or data source. For example,
layout generation module 220 may receive a 3D model of a building
from an application that was used to generate or create the 3D
model.
[0071] In step 304, layout generation module 220 generates a layout
230 based on the workstation data 212 and operation data 210.
Generating the layout 230 is performed in a manner similar to that
disclosed above with respect to layout generation module 220 and as
further described below with regards to FIG. 4. In some
embodiments, generating the layout 230 includes determining, for
each workstation of a plurality of workstations of a building, a
location of the workstation within the building. Additionally, in
some embodiments, generating the layout 230 further includes
determining locations within the building of other rooms or
elements of the building, such as storage facilities, tools,
supplies, entrances, exits, elevators, stairs, material transport
paths or structures, or other rooms or elements used by the
plurality of operations.
[0072] In some embodiments, generating the layout 230 is further
based on geometry data 214. For example, generating the layout 230
may be based on a pre-defined building geometry. Layout generation
module 220 determines locations for the plurality of workstations
within the boundaries of the building indicated by the geometry
data 214. As another example, generating the layout 230 may be
based on a pre-defined site geometry. Layout generation module 220
determines locations for the plurality of workstations within the
boundaries of the site indicated by the geometry data 214.
[0073] In some embodiments, generating the layout 230 includes
generating geometry data for the building. The geometry data for
the building may include data indicating a size and shape of the
building, exterior walls of the building, interior walls of the
building such as walls of workstations and other rooms, and sizes
and shapes of pathways within the building such as stairs,
transport paths, corridors, and hallways.
[0074] In some embodiments, generating the layout 230 includes
generating geometry data for the building. The geometry data for
the building may include data indicating a size and shape of the
building, exterior walls of the building, interior walls of the
building such as walls of workstations and other rooms, and sizes
and shapes of pathways within the building such as stairs,
transport paths, corridors, and hallways.
[0075] FIG. 4 is a flowchart of method steps for layout generation
performed by the productivity calculation engine 118 of FIG. 1 and
the layout generation module 220 of FIG. 2, according to various
embodiments of the present disclosure. Although the method steps
are described in conjunction with the systems of FIGS. 1 and 2,
persons skilled in the art will understand that any system
configured to perform the method steps in any order falls within
the scope of the present disclosure.
[0076] In step 402, layout generation module 220 selects a first
workstation and determines a location of the first workstation.
Determining the location of the first workstation is performed in a
manner similar to that disclosed above with respect to layout
generation module 220. In some embodiments, determining the
location for the first workstation is based on one or more of: the
size and shape of the first workstation, the size and shape of the
building, and the size and shape of the site. In some embodiments,
the location for the first workstation is selected randomly. In
some embodiments, the location of the first workstation is selected
from one or more pre-determined or pre-configured locations.
[0077] Additionally, in some embodiments, layout generation module
220 determines an orientation of the first workstation. In some
embodiments, determining an orientation for the first workstation
is based on one or more of: the size and shape of the first
workstation, the size and shape of the building, and the size and
shape of the site. In some embodiments, the orientation for the
first workstation may be selected randomly. In some embodiments,
the orientation of the first workstation is selected from one or
more pre-determined or pre-configured locations.
[0078] In step 404, layout generation module 220 determines whether
locations of any additional workstations depend on the location of
the first workstation. Determining whether locations of any
additional workstations depend on the location of the first
workstation is performed in a manner similar to that disclosed
above with respect to layout generation module 220.
[0079] In some embodiments, determining whether locations of any
additional workstations depend on the location of the first
workstation includes determining if any workstations are associated
with a location restriction that specifies the first
workstation.
[0080] In some embodiments, determining whether locations of any
additional workstations depend on the location of the first
workstation includes determining if any workstations are associated
with the same operation, operation category, or operation task as
the first workstation.
[0081] In step 406, layout generation module 220 determines
locations of any additional workstations based on the location of
the first workstation. Determining the locations of any additional
workstations based on the location of the first workstation is
performed in a manner similar to that disclosed above with respect
to layout generation module 220.
[0082] In some embodiments, in response to determining that a
location restriction specifies the first workstation, layout
generation module 220 determines a second workstation that is
associated with the location restriction. Layout generation module
220 determines a location for the second workstation based on the
location restriction and the location of the first workstation.
Additionally, in some embodiments, layout generation module 220 may
determine the location for the second workstation based on any
additional location restrictions associated with the second
workstation. If the second workstation is associated with location
restrictions that specify other workstations whose location has not
been determined, layout generation module 220 may determine the
location for the second workstation after locations have been
determined for the other workstations
[0083] In some embodiments, in response to determining that a
second workstation is associated with the same operation, operation
category, or operation task as the first workstation, layout
generation module 220 determines a location for the second
workstation based on the location of the first workstation.
Additionally, in some embodiments, layout generation module 220
determines the location for the second workstation based on data
describing the operation, operation category, or operation task,
such as an order in which the second workstation is accessed by an
operation or operation task workflow relative to the first
workstation and other workstations accessed by the operation or
operation task workflow.
[0084] The above steps 402-406 are repeated for remaining
workstations whose locations have not yet been determined, until a
respective location has been determined for all workstations of the
plurality of workstations.
[0085] Referring back to FIG. 3, in step 306, simulation module 226
generates, for each operation task of a plurality of operation
tasks described in operation data 210, a productivity value for the
operation task. Generating the productivity values for the
plurality of operation tasks is performed in a manner similar to
that disclosed above with respect to analysis graph generation
module 222, path generation module 224, and simulation module 226,
and as further described below with respect to FIG. 5.
[0086] FIG. 5 is a flowchart of method steps for operation
productivity and overall productivity calculation performed by the
productivity calculation engine 118 of FIG. 1 and the analysis
graph generation module 222, path generation module 224, and
simulation module 226 of FIG. 2, according to various embodiments
of the present disclosure. Although the method steps are described
in conjunction with the systems of FIGS. 1 and 2, persons skilled
in the art will understand that any system configured to perform
the method steps in any order falls within the scope of the present
disclosure.
[0087] In step 502, analysis graph generation module 222 receives
the layout 230. Additionally, analysis graph generation module 222
may receive operation data 210 and workstation data 212. In some
embodiments, analysis graph generation module 222 receives the
layout 230 from layout generation module 220. In other embodiments,
analysis graph generation module 222 receives the layout 230 from
another application, tool, or module that generated layout 230. For
example, analysis graph generation module 222 may receive a layout
230 from an application that generates and optimizes building
layouts.
[0088] In step 504, analysis graph generation module 222 generates
an analysis graph 240 based on the layout 230. Analysis graph 240
comprises a plurality of nodes and a plurality of edges connecting
the nodes. Each node of the plurality of nodes corresponds to a
location of a workstation indicated by the layout. Additionally, in
some embodiments, the analysis graph may include one or more nodes
that correspond to the locations of other elements of the building
layout such as workstation access points, tool and supply storage
facilities, and elevators. Each edge of the graph corresponds to a
pathway connecting two workstations, such as a hallway, corridor,
stairway, or other transport path.
[0089] In some embodiments, generating the analysis graph 240 based
on the layout 230 includes determining a plurality of locations
corresponding to workstations and other building elements in the
layout. Analysis graph generation module 222 generates a respective
node of the analysis graph for each location of the plurality of
locations. Additionally, in some embodiments, analysis graph
generation module 222 generates, based on workstation data 212,
data describing the workstation or other building element
corresponding to the location and associates the data with the
respective node.
[0090] In some embodiments, generating the analysis graph 240 based
on the layout 230 includes determining a plurality of pathways in
the layout. Analysis graph generation module 222 determines, for
each pathway of the plurality of pathways, a first location and a
second location connected by the pathway. Analysis graph generation
module 222 generates a respective edge corresponding to the
pathway, where the edge connects a first node corresponding to the
first location and a second node corresponding to the second
location. Additionally, in some embodiments, analysis graph
generation module 222 generates, based on layout 230, data
describing the pathway and associates the data with the respective
edge.
[0091] In step 506, path generation module 224 determines
workstation locations for an operation task of the plurality of
operation tasks based on operation data 210. In some embodiments,
path generation module 224 determines, based on the operation data
210, one or more workstations used by the operation task.
Additionally, in some embodiments, path generation module 224
determines an order in which the workstations are accessed by
workers when performing steps of the operation task.
[0092] In step 508, path generation module 224 determines
additional building locations for the operation task. In some
embodiments, path generation module 224 determines, based on the
operation data 210, determining, one or more elements of the
building, such as workstation access points, tool or supply storage
facilities, equipment, materials, or elevators, that are used by
the operation task. Additionally, in some embodiments, path
generation module 224 determines an order in which the workstations
and building elements are accessed by workers when performing steps
of the operation task.
[0093] In step 510, path generation module 224 calculates a path
for the operation or operation task. In some embodiments, path
generation module 224 calculates a shortest path through the
analysis graph 240 that includes the nodes corresponding to the one
or more workstations used by the operation task and any additional
building elements used by the operation task. Additionally, in some
embodiments, path generation module 224 calculates the shortest
path through the analysis graph 240 that traverses the nodes in the
order in which the one or more workstations and additional building
elements are accessed by workers when performing the operation
task.
[0094] In some embodiments, calculating a path for the operation
task further includes determining, based on the operation data 210,
one or more transport requirements or restrictions associated with
the operation task. Calculating the shortest path through the
analysis graph 240 includes calculating the shortest path that
follows the one or more transport requirements or restrictions
associated with the operation task.
[0095] The above steps 506-510 are repeated for each operation task
of the plurality of operations or operation tasks to generate a
plurality of paths 250 corresponding to the plurality of operations
or operation tasks.
[0096] In step 512, simulation module 226 calculates a plurality of
task productivity values based on the plurality of paths 250. For
each path in the plurality of paths, simulation module 226
calculates a respective task productivity value. In some
embodiments, each task productivity value corresponds to a length
of the corresponding path. In other embodiments, each task
productivity value corresponds to the length of the pathways
traversed by corresponding path.
[0097] In some embodiments, calculating a task productivity value
for a path includes determining whether a travel burden is
associated with the operation task corresponding to the path. In
response to determining that a travel burden is associated with the
operation or operation task, simulation module 226 adjusts or
weighs the productivity value associated with the operation or
operation task. In some embodiments, adjusting or weighing the
productivity value may be based on the severity of the travel
burden.
[0098] In some embodiments, calculating a task productivity value
for a path includes determining whether the operation task
corresponding to the path is affected by congestion. Determining
whether the operation task is affected by congestion may include
one or more of: determining whether edges traversed by the path are
also traversed by other paths; determining whether nodes traversed
by the path are also traversed by other paths; determining a time
or time period in which the path traverses each edge and/or node;
determining a time or time period in which other paths traverse
each respective edge and/or node of the other paths. In response to
determining that the operation task is affected by congestion,
simulation module 226 adjusts or weighs the productivity value
associated with each operation or operation task of the plurality
of operations or operation tasks. Additionally, in some
embodiments, adjusting or weighing the productivity value includes
determining an amount of congestion that affects the operation or
operation task and adjusting or weighing the productivity value
based on the amount of congestion.
[0099] Referring back to FIG. 3, in step 308, simulation module 226
generates, based on the productivity values for the plurality of
operations or operation tasks, one or more layout productivity
values 228 for the layout 230. Generating the overall productivity
values for the layout are performed in a manner similar to that
disclosed above with respect to simulation module 226.
[0100] In one or more embodiments, each layout productivity value
228 corresponds to a respective operation of one or more operations
of the building. Each operation is associated with a respective
plurality of operation tasks. Generating the layout productivity
value corresponding to an operation is based on the task
productivity values associated with the respective plurality of
operation tasks. In some embodiments, the layout productivity value
228 for an operation is a sum of the task productivity values
associated with the plurality of operation tasks of the
operation.
[0101] In sum, the computer system generates performance metrics
related to a building, including one or more productivity values
that indicate a level of productivity corresponding to a layout of
a building. The computer system receives input data describing a
plurality of workstations for the building and a plurality of
operations that take place in the building.
[0102] In one approach, the computer system generates a layout of
the building that specifies a location within the building for each
workstation of the plurality of workstations based on the input
data. For example, the data describing the plurality of
workstations may indicate which workstations should be located
adjacent to one another, or data describing the plurality of
operations may indicate which workstations are needed for each
operation. The computer system generates the layout based on which
workstations should be located adjacent to one another and/or which
workstations are needed to complete a given operation or set of
operations. In another approach, the computer system receives a
pre-defined layout that specifies the location within the building
for each workstation of the plurality of workstations.
[0103] For each operation of the plurality of operations, the
computer system calculates a productivity value. Calculating the
productivity value for an operation may be based on any number of
features of the layout of the building and the operation, such as
the workstations required by the operation, the locations of the
workstations required by the operation, the order of workstations
required by the operation, the location of supplies and tools
required by the operation, the amount of time spent by a worker at
each workstation required by the operation, and the distance and
travel time between workstations required by the operation.
[0104] Based on the productivity values for the plurality of
operations, the computer system calculates one or more productivity
values for the layout of the building. In some embodiments, each
operation of the plurality of operations corresponds to a
respective operational category of one or more operational
categories. The computer system generates a respective productivity
value for each operational category based on the productivity
values of the operations that correspond to the operational
category. In other embodiments, other methods for grouping
operations into various categories may be used.
[0105] At least one advantage of the disclosed techniques is that
the computer system measures productivity of a building or
workplace based on a proposed layout or an automatically-generated
layout for the building or workplace, without the layout being
implemented and used in operation of the building or workplace.
Unlike typical approaches that involve measuring productivity in
the building or workplace after creating and implementing a layout,
this approach allows quick analysis, measurement, and comparison of
the productivity of multiple potential layouts. A user can utilize
the generated measurements to further optimize potential layouts
and quickly see how different adjustments to a layout affect the
productivity. In addition, this approach may be used as part of a
design application that iteratively generates improved layouts that
meet specific design objectives. For example, the design
application may utilize the productivity values for the different
operational categories in order to determine a layout that is most
effective for a particular operational category. As another
example, the design application may utilize productivity values as
one of several metrics to consider when evaluating different
layouts. Accordingly, these technical advantages provide one or
more technological advancements over prior art approaches.
[0106] 1. In various embodiments, a computer-implemented method for
determining performance metrics related to a building comprises
receiving workstation data describing a plurality of workstations
included in the building and operation data describing one or more
of operations performed in the building, generating, based at least
on the workstation data, a building layout specifying, for each
workstation of the plurality of workstations, a respective location
of the workstation, generating, based on the building layout, an
analysis graph, for each operation of the one or more operations,
generating one or more paths based on the analysis graph,
computing, based at least on the one or more paths, a productivity
value associated with the operation.
[0107] 2. The method of clause 1, where generating the one or more
paths is further based on one or more workstations associated with
the operation.
[0108] 3. The method of clause 1 or 2, where generating the one or
more paths is further based on one or more transport restrictions
associated with the operation.
[0109] 4. The method of any of clauses 1-3, where generating the
one or more paths is further based on one or more workflows
associated with the operation.
[0110] 5. The method of any of clauses 1-4, where each operation of
the one or more operations is associated with a plurality of
operation tasks, and where generating the one or more paths
includes generating, for each operation task of the plurality of
operation tasks, a respective path corresponding to the operation
task.
[0111] 6. The method of any of clauses 1-5, where computing the
productivity value associated with the operation includes
computing, for each operation task of the plurality of operation
tasks, a respective productivity value associated with the
operation task based on the path corresponding to the operation
task.
[0112] 7. The method of any of clauses 1-6, further comprising, for
each operation of the one or more operations, determining, based on
the operation data, whether the operation is associated with a
travel burden, and in response to determining that the operation is
associated with the travel burden, adjusting the productivity value
associated with the operation.
[0113] 8. The method of any of clauses 1-7, further comprising, for
each operation of the one or more operations, determining, based on
the one or more paths, whether the operation is affected by
congestion, and in response to determining that the operation is
affected by congestion, adjusting the productivity value associated
with the operation.
[0114] 9. The method of any of clauses 1-8, further comprising
computing one or more overall productivity values associated with
the building layout based on the productivity values associated
with the one or more operations.
[0115] 10. The method of any of clauses 1-9, where generating the
building layout includes determining a location of a first
workstation of the plurality of workstations, determining that a
location of a second workstation of the plurality of workstations
depends on the location of the first workstation, and determining
the location of the second workstation based on the location of the
first workstation.
[0116] 11. The method of any of clauses 1-10, where determining
that the location of the second workstation depends on the location
of the first workstation is based on a location restriction
associated with the second workstation.
[0117] 12. The method of any of clauses 1-11, where determining
that the location of the second workstation depends on the location
of the first workstation is based on one or more of an operation
associated with the first workstation, an operation associated with
the second workstation, a category associated with the first
workstation, a category associated with the second workstation, an
operation task associated with the first workstation, or an
operation task associated with the second workstation.
[0118] 13. In various embodiments, one or more non-transitory
computer readable media store instructions that, when executed by
one or more processors, cause the one or more processors to perform
the steps of receiving workstation data describing a plurality of
workstations included in the building and operation data describing
one or more of operations performed in the building, generating,
based at least on the workstation data, a building layout
specifying, for each workstation of the plurality of workstations,
a respective location of the workstation, generating, based on the
building layout, an analysis graph, and for each operation of the
one or more operations, generating one or more paths based on the
analysis graph, and computing, based at least on the one or more
paths, a productivity value associated with the operation.
[0119] 14. The one or more non-transitory computer readable media
of clause 13, where generating the one or more paths is further
based on one or more workstations associated with the
operation.
[0120] 15. The one or more non-transitory computer readable media
of clause 13 or 14, where generating the one or more paths is
further based on one or more transport restrictions associated with
the operation.
[0121] 16. The one or more non-transitory computer readable media
of any of clauses 13-15, where generating the one or more paths is
further based on one or more workflows associated with the
operation.
[0122] 17. The one or more non-transitory computer readable media
of any of clauses 13-16, where each operation of the one or more
operations is associated with a plurality of operation tasks, and
where generating the one or more paths includes generating, for
each operation task of the plurality of operation tasks, a
respective path corresponding to the operation task.
[0123] 18. The one or more non-transitory computer readable media
of any of clauses 13-17, where computing the productivity value
associated with the operation includes computing, for each
operation task of the plurality of operation tasks, a respective
productivity value associated with the operation task based on the
path corresponding to the operation task.
[0124] 19. The one or more non-transitory computer readable media
of any of clauses 13-18, further comprising, for each operation of
the one or more operations, determining, based on the operation
data, whether the operation is associated with a travel burden, and
in response to determining that the operation is associated with
the travel burden, adjusting the productivity value associated with
the operation.
[0125] 20. In various embodiments, a computer system comprises one
or more memories storing instructions, and one or more computer
processors for processing the instructions to receive workstation
data describing a plurality of workstations included in the
building and operation data describing one or more of operations
performed in the building, generate, based at least on the
workstation data, a building layout specifying, for each
workstation of the plurality of workstations, a respective location
of the workstation, generate, based on the building layout, an
analysis graph, and for each operation of the one or more
operations, generate one or more paths based on the analysis graph,
and compute, based at least on the one or more paths, a
productivity value associated with the operation.
[0126] Any and all combinations of any of the claim elements
recited in any of the claims and/or any elements described in this
application, in any fashion, fall within the contemplated scope of
the present invention and protection.
[0127] The descriptions of the various embodiments have been
presented for purposes of illustration, but are not intended to be
exhaustive or limited to the embodiments disclosed. Many
modifications and variations will be apparent to those of ordinary
skill in the art without departing from the scope and spirit of the
described embodiments.
[0128] Aspects of the present embodiments may be embodied as a
system, method or computer program product. Accordingly, aspects of
the present disclosure may take the form of an entirely hardware
embodiment, an entirely software embodiment (including firmware,
resident software, micro-code, etc.) or an embodiment combining
software and hardware aspects that may all generally be referred to
herein as a "module," a "system," or a "computer." In addition, any
hardware and/or software technique, process, function, component,
engine, module, or system described in the present disclosure may
be implemented as a circuit or set of circuits. Furthermore,
aspects of the present disclosure may take the form of a computer
program product embodied in one or more computer readable medium(s)
having computer readable program code embodied thereon.
[0129] Any combination of one or more computer readable medium(s)
may be utilized. The computer readable medium may be a computer
readable signal medium or a computer readable storage medium. A
computer readable storage medium may be, for example, but not
limited to, an electronic, magnetic, optical, electromagnetic,
infrared, or semiconductor system, apparatus, or device, or any
suitable combination of the foregoing. More specific examples (a
non-exhaustive list) of the computer readable storage medium would
include the following: an electrical connection having one or more
wires, a portable computer diskette, a hard disk, a random access
memory (RAM), a read-only memory (ROM), an erasable programmable
read-only memory (EPROM or Flash memory), an optical fiber, a
portable compact disc read-only memory (CD-ROM), an optical storage
device, a magnetic storage device, or any suitable combination of
the foregoing. In the context of this document, a computer readable
storage medium may be any tangible medium that can contain or store
a program for use by or in connection with an instruction execution
system, apparatus, or device.
[0130] Aspects of the present disclosure are described above with
reference to flowchart illustrations and/or block diagrams of
methods, apparatus (systems) and computer program products
according to embodiments of the disclosure. It will be understood
that each block of the flowchart illustrations and/or block
diagrams, and combinations of blocks in the flowchart illustrations
and/or block diagrams, can be implemented by computer program
instructions. These computer program instructions may be provided
to a processor of a general-purpose computer, special purpose
computer, or other programmable data processing apparatus to
produce a machine. The instructions, when executed via the
processor of the computer or other programmable data processing
apparatus, enable the implementation of the functions/acts
specified in the flowchart and/or block diagram block or blocks.
Such processors may be, without limitation, general purpose
processors, special-purpose processors, application-specific
processors, or field-programmable gate arrays.
[0131] The flowchart and block diagrams in the figures illustrate
the architecture, functionality, and operation of possible
implementations of systems, methods and computer program products
according to various embodiments of the present disclosure. In this
regard, each block in the flowchart or block diagrams may represent
a module, segment, or portion of code, which comprises one or more
executable instructions for implementing the specified logical
function(s). It should also be noted that, in some alternative
implementations, the functions noted in the block may occur out of
the order noted in the figures. For example, two blocks shown in
succession may, in fact, be executed substantially concurrently, or
the blocks may sometimes be executed in the reverse order,
depending upon the functionality involved. It will also be noted
that each block of the block diagrams and/or flowchart
illustration, and combinations of blocks in the block diagrams
and/or flowchart illustration, can be implemented by special
purpose hardware-based systems that perform the specified functions
or acts, or combinations of special purpose hardware and computer
instructions.
[0132] While the preceding is directed to embodiments of the
present disclosure, other and further embodiments of the disclosure
may be devised without departing from the basic scope thereof, and
the scope thereof is determined by the claims that follow.
* * * * *