Generate building designs that optimize the building's productivity
By receiving workstation and operation data, generating building layouts and calculating productivity values, the problem of difficulty in optimizing building layouts in existing technologies is solved, and automatic optimization of building layouts in CAD applications is achieved to improve productivity.
Patent Information
- Application Number
- CN202080080091.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-11-13
- Filing Date
- 2020-11-17
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2040-11-17
AI Technical Summary
When designing industrial buildings, existing CAD software cannot measure productivity until the layout is realized, resulting in a time-consuming design process and difficulty in optimizing the building layout to improve productivity.
A computer-implemented method automatically explores the design space to identify the optimal layout by receiving workstation and operation data, generating a building layout, and calculating productivity values.
It enables automatic optimization of building layouts in CAD applications, improves the productivity of building design and increases the possibility of generating optimized designs.
Smart Images

Figure CN114787852B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of priority to U.S. Provisional Patent Application Serial No. 62 / 937,190 (Attorney Docket AUTO1468USL) filed on November 18, 2019, and claims the benefit of U.S. Patent Application Serial No. 17 / 098,214 (Attorney Docket AUTO1468US1) filed on November 13, 2020. The subject matter of these related applications is hereby incorporated herein by reference. Background Art
[0003] Fields of various implementations
[0004] The present invention relates generally to computer science and computer-aided design, and more particularly to computer-implemented techniques for generating building designs that optimize building productivity.
[0005] Description of related art
[0006] Generating a building design and layout, such as for a building or workplace, is often a complex process in which many different design objectives and numerous constraints and requirements must be considered. For example, when designing a building or other similarly complex industrial structure, designers must consider, among other things, operational requirements, production requirements, architectural and engineering constraints, cost constraints, and construction site constraints.
[0007] With respect to the operational requirements of a typical industrial building, the building's layout can impact the building's overall productivity. For example, the placement of workstations, supplies, corridors, and pathways within a building can impact how construction workers navigate the building while performing their tasks. Furthermore, buildings can be used to create multiple components, and building operations can include varying schedules, work shifts, and tasks, leading to a complex flow of people and parts through the building. When designing such buildings, designers typically use simulation methods (such as productivity simulations) incorporated into computer-aided design (CAD) software to model and simulate the building's airflow and heat transfer prior to construction. In this way, designers can assess the effectiveness of the layout based on the building's productivity.
[0008] One drawback of using traditional CAD software when designing industrial buildings is that much of the information needed to correctly model and simulate building productivity through the simulation methods incorporated into traditional CAD software is not available or determined until the end of the building design process. In particular, due to the various factors that influence building productivity, typical methods for measuring productivity rely on tracking and measuring actual productivity after the layout is implemented and during use. Consequently, generating layouts for industrial buildings using traditional CAD software involves a specialized trial-and-error approach.
[0009] In the trial-and-error approach of designing layouts using CAD software, each layout must be designed and implemented before productivity can be measured. Until an adjustment to the layout or a new layout is implemented, it's impossible to determine whether a change in productivity is due to the adjustment or the different layout itself. If a new or modified layout results in a decrease in productivity, the decrease won't be detected until the new or modified layout is implemented, which is undesirable given the time and effort involved in implementing a building layout. Furthermore, unless each change to the layout is small or incremental, it can be difficult to determine which features of the layout resulted in an increase or decrease in productivity. Consequently, building layouts for industrial buildings generated using conventional CAD software often fail to provide optimal levels of productivity and efficiency for these buildings.
[0010] As indicated above, what is needed in the art is a more efficient technique for generating layouts for buildings that takes into account building productivity. Summary of the Invention
[0011] One embodiment of the present application describes a computer-implemented method for measuring productivity in buildings and workplaces. The method includes receiving workstation data for a plurality of workstations in a building and operational data for a plurality of operations in the building; generating a building layout that specifies, for each of the plurality of workstations, a respective location of the workstation; generating, for each of the plurality of operations, a respective productivity value based on the workstation data, the operational data, and the location of the plurality of workstations; and calculating one or more overall productivity values associated with the building layout based on the productivity values of the plurality of operations.
[0012] At least one technical advantage of the disclosed technology over the prior art is that the disclosed technology can be incorporated into a CAD application to enable the CAD application to automatically explore the design space to identify building layouts that optimize the building's productivity. Thus, utilizing the disclosed technology, a CAD application can generate a significantly increased number of building designs, such as those optimized for productivity for a specific building function, compared to conventional CAD applications. This functionality, unavailable in conventional CAD applications, increases the likelihood that the optimal layout design can be automatically generated and identified for a given building design. These technical advantages represent one or more tangible and meaningful technical improvements over conventional CAD applications. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Thus, a more particular description of the inventive concepts briefly summarized above, which may be understood in detail, may be obtained by reference to various embodiments, some of which are illustrated in the accompanying drawings. It should be noted, however, that the drawings illustrate only typical embodiments of the inventive concepts and are therefore not to be considered limiting of scope in any way, and that other equally effective embodiments may exist.
[0014] Figure 1 is a schematic diagram illustrating a computing system configured to implement one or more aspects of the present disclosure.
[0015] Figure 2 According to various embodiments of the present disclosure Figure 1 A more detailed diagram of the database and productivity calculation engine.
[0016] Figure 3 According to various embodiments of the present disclosure Figure 1 A flowchart of the steps of a productivity calculation method performed by a productivity calculation engine.
[0017] Figure 4 According to various embodiments of the present disclosure Figure 1 A flowchart of the steps of a method for generating a layout performed by a productivity calculation engine.
[0018] Figure 5 According to various embodiments of the present disclosure Figure 1 A flowchart of the steps of a productivity calculation engine performing operations for productivity and a method for calculating overall productivity. DETAILED DESCRIPTION
[0019] In the following description, numerous specific details are set forth to provide a more thorough understanding of various embodiments. However, it will be apparent to one skilled in the art that the inventive concept may be practiced without one or more of these specific details.
[0020] Figure 1 A computing device 100 configured to implement one or more aspects of the present disclosure is shown. As shown, the computing device 100 includes an interconnect (bus) 112 connecting 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, a memory 116, a storage bank 114, and a network interface 106.
[0021] The computing device 100 includes a desktop computer, a laptop computer, a smartphone, a personal digital assistant (PDA), a 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. The computing device 100 described herein is illustrative, and any other technically feasible configurations fall within the scope of the present disclosure.
[0022] The processing unit 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, the processing unit 102 can be any technically feasible hardware unit capable of processing data and / or executing software applications. Furthermore, in the context of the present disclosure, the computing elements shown in the computing device 100 may correspond to physical computing systems (e.g., systems in a data center) or may be virtual computing instances executed within a computing cloud.
[0023] In one embodiment, I / O devices 108 include devices capable of providing input (such as a keyboard, mouse, touch-sensitive screen, etc.) and devices capable of providing output (such as a display device). Additionally, I / O devices 108 may include devices capable of receiving input and providing output, such as a touch screen, a Universal Serial Bus (USB) port, etc. 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 also provide various types of output to the end user of computing device 100, such as displayed digital images, digital video, or text. In some embodiments, one or more of I / O devices 108 are configured to connect computing device 100 to network 110.
[0024] The network 110 includes any technically feasible type of communication network that allows data to be exchanged between the computing device 100 and an external entity or device, such as a network server or another networked computing device. For example, the network 110 may include a wide area network (WAN), a local area network (LAN), a wireless (WiFi) network, and / or the Internet.
[0025] 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 storage devices, optical storage devices, 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.
[0026] The memory 116 includes random access memory (RAM) modules, flash memory units, or other types of memory units or a combination thereof. The processing unit 102, the I / O device interface 104, and the network interface 106 are configured to read data from and write data to the memory 116. The memory 116 includes various software programs executable by the processor 102 and application data associated with the software programs, including the productivity calculation engine 118 and the database 120. Figure 2 The productivity calculation engine 118 and database 120 are described in more detail.
[0027] Figure 2 According to various embodiments of the present disclosure Figure 1 Detailed diagram of the productivity calculation engine 118 and database 120. As shown, the productivity calculation engine 118 includes but is not limited to a layout generation module 220, an analysis graph generation module 222, a path generation module 224, a simulation module 226, and a layout productivity value 228.
[0028] The productivity calculation engine 118 automatically calculates one or more productivity values associated with a specific layout of a building based on data describing the building and building operations. Each productivity value indicates an estimated measure of the productivity of one or more operations when performed in the building using the specific layout. In some embodiments, the productivity calculation engine 118 is part of an application used to design or optimize the layout of a structure (such as a building or other workplace). In other embodiments, the productivity calculation engine 118 is a separate application or tool from the application used to design or optimize the layout of a building or other workplace. The productivity calculation engine 118 can receive building information generated by another application and generate productivity values based on the received building layout. For example, the productivity calculation engine 118 can 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 the operations performed in the building. In addition, the productivity calculation engine 118 can provide the one or more productivity values to a user or other application via a graphical user interface for further analysis of the building and building layout.
[0029] In one or more embodiments, the productivity calculation engine 118 obtains data from the database 120 describing the building, the operation of the building, and other data that can be used by the productivity calculation engine 118 to calculate the productivity of the building. Figure 1 As shown, database 120 includes, but is not limited to, operational data 210 , workstation data 212 , and geometric data 214 .
[0030] Operational data 210 includes data describing one or more operations of a building. For example, data describing an operation may include data indicating workstations, operators, personnel, schedules, areas, locations, tools, storage facilities, parts, materials, equipment, transportation requirements or restrictions, or other elements and characteristics associated with the operation. Additionally, data describing an operation may include data describing elements and characteristics associated with the operation, such as the weight of parts and materials associated with the operation.
[0031] In one or more embodiments, the data describing an operation includes data describing a workflow for 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 the order in which a worker uses workstations, tools, equipment, and materials when performing the steps of the operation. Additionally, in some embodiments, the data describing the workflow of the operation may indicate the amount of time spent performing each step of the operation.
[0032] In one or more embodiments, each operation is associated with a plurality of operation tasks. The data describing an operation include the data indicating a plurality of operation tasks. In addition, in some embodiments, the data describing an operation include the data describing a plurality of operation tasks. For example, the data describing an operation task may include the data indicating the operation, workstation, operator, personnel, schedule, area, position, tool, storage facility, part, material, equipment, transportation requirements or restrictions associated with the task, or other elements and features associated with the operation task. In addition, the data describing an operation task may include the data describing the elements and features associated with the operation task (such as the weight of the parts and materials associated with the operation task).
[0033] In one or more embodiments, the data describing the operational task includes data describing the workflow of the operational task. The data describing the workflow of the operational task indicates the steps taken when performing the operational task. Additionally, in some embodiments, the data describing the workflow of the operational task indicates the order in which a worker uses workstations, tools, equipment, and materials when performing the steps of the operational task. Additionally, in some embodiments, the data describing the workflow of the operation may indicate the amount of time spent performing each step of the operation.
[0034] Workstation data 212 includes data describing one or more workstations or workspaces of a building. For example, the data describing a workstation may include data indicating one or more operations associated with the workstation, one or more operational tasks associated with the workstation, the size of the workstation, the shape of the workstation, or other information related to the workstation.
[0035] In one or more embodiments, the data describing a workstation or workspace includes data describing location constraints for the workstation or workspace. The location constraints indicate that the location of the workstation or workspace depends on the location or placement of other workspaces, workstations, tools or materials, storage facilities, transportation, or other elements of the building. For an element, the location constraints may indicate that the workstation or workspace should be adjacent to the element, within a certain distance of the element, in the same area or zone of the building as the element, within a certain configuration with the element, or other location-based requirements.
[0036] The geometric data 214 includes data describing the building and / or worksite in which the layout is to be placed. For example, the data describing the building may include data indicating the size of the building, the shape of the building, the footprint of the building, the orientation of the building's structural elements, the location of fixtures and fixtures within the building, and the building's infrastructure (such as loading docks, entrances, exits, and mechanical systems). As another example, the data describing the worksite may include data indicating the size of the worksite, the shape of the worksite, the orientation of the worksite, the location of fixtures and fixtures within the worksite, the elevation of the worksite, the constraints of the worksite, and the infrastructure (such as roads and paths) of the worksite. In some embodiments, the geometric data 214 includes a 3D model of the building and / or worksite.
[0037] In some embodiments, the geometric data 214 includes a layout indicating the positioning of workstations or workspaces within a building. The layout can be a layout generated by the productivity calculation engine 118, a layout generated by another application or tool, or a layout designed by a user. In some embodiments, the geometric data 214 includes a 3D model of the building, and the interior of the 3D model includes the workstations and workspaces within the building. In some embodiments, the productivity calculation engine 118 generates the layout of the building based on the information describing the building.
[0038] In operation, the layout generation module receives the operational data 210 and the workstation data 212 and generates a layout 230. The layout 230 indicates the positioning of a plurality of workstations or workspaces of a building within a building, such as a structure. In some embodiments, the layout 230 also indicates the positioning of other rooms or elements of the building within the building, such as storage facilities, tools, supplies, entrances, exits, elevators, stairs, material transportation paths or structures, or other rooms or elements used by a plurality of operations.
[0039] In one or more embodiments, generating layout 230 is based on a predefined building geometry. For example, geometry data 214 may include data indicating the size and shape of the building. As another example, geometry data 214 may include a 3D model or floor plan of the building. Layout generation module 220 receives geometry data 214 and determines the positioning of a plurality of workstations within the boundaries of the building indicated by geometry data 214.
[0040] In one or more embodiments, layout generation 230 is based on a predefined worksite geometry. For example, geometric data 214 may include data indicating the size and shape of the worksite. As another example, geometric data 214 may include a 3D model of the worksite or a worksite plan of the worksite. Layout generation module 220 receives geometric data 214 and determines the positioning of a plurality of workstations within the boundaries of the worksite indicated by geometric data 214.
[0041] In one or more embodiments, generating the layout 230 includes generating geometric data for a building. The geometric data for the building may include data indicating the size and shape of the building, the building's exterior walls, the building's interior walls (such as walls of workstations and other rooms), and the size and shape of passageways within the building (such as stairs, transportation paths, corridors, and aisles). For example, after determining the locations of the plurality of workstations, the layout generation module 220 may place the building's exterior walls around the plurality of workstations and place interior walls and passageways between the workstations.
[0042] In some embodiments, generating the layout 230 includes determining one or more positioning constraints for a workstation and determining the positioning of the workstation based on the one or more positioning constraints. Each positioning constraint indicates that the positioning of the workstation is dependent on the positioning or placement of another workspace, workstation, specific tools or materials, storage facilities, transportation, or other element of the building. Additionally, a positioning constraint may indicate that the workstation should be adjacent to an element, within a certain distance of an element, in the same area or zone of the building as an element, within a certain configuration with the element, or other positioning-based requirements. In an embodiment, determining the one or more positioning constraints for a workstation includes determining whether the workstation is associated with any positioning constraints based on the workstation data 212. If the workstation is associated with a positioning constraint, then the layout generation module 220 determines the positioning of the workstation based on the positioning of the element indicated by the positioning constraint and the positioning-based requirements indicated by the positioning constraint.
[0043] In one or more embodiments, to generate the layout 230, the layout generation module 220 selects a first workstation from the plurality of workstations. The layout generation module 220 determines a location for the first workstation. In some embodiments, the location of the first workstation is determined based on one or more of the following: the size and shape of the first workstation, the size and shape of the building, and the size and shape of the worksite. In some embodiments, the location of the first workstation may be randomly selected. For example, the location of the first workstation may be any available location within the building or the worksite. In some embodiments, the location of the first workstation is selected from one or more predetermined or preconfigured locations. For example, the layout generation module 220 may always select the upper 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 the layout generation module 220 selects one of the corners of the building as the location for the first workstation.
[0044] Additionally, in some embodiments, the layout generation module 220 determines an orientation of the first workstation. In some embodiments, determining the orientation of the first workstation is based on one or more of the following: the size and shape of the first workstation, the size and shape of the building, and the size and shape of the worksite. In some embodiments, the orientation of the first workstation may be randomly selected. For example, the orientation of the first workstation may be any direction in which the entry point or entrance to the workstation does not face a wall or other obstruction, or is at a sufficient distance from a wall or other obstruction for a worker to use or enter the workstation. In some embodiments, the orientation of the first workstation is selected from one or more predetermined or preconfigured orientations. For example, if the first workstation is positioned against a wall of a building, the layout generation module 220 may always orient the first workstation so that the entry point or entrance to the building faces away from the wall.
[0045] In some embodiments, after determining the position of the first workstation, the layout generation module 220 determines whether the position of any additional workstations is dependent on the position of the first workstation. In response to determining that the position of one or more additional workstations is dependent on the position of the first workstation, the layout generation module 220 determines a corresponding position for each of the one or more additional workstations based on the position of the first workstation.
[0046] In some embodiments, determining whether the positioning of any additional workstations is dependent on the positioning of the first workstation includes determining whether any workstation is associated with a positioning constraint specifying the first workstation. In response to determining that the second workstation is associated with a positioning constraint specifying the first workstation, the layout generation module 220 determines the positioning of the second workstation based on the positioning constraint and the positioning of the first workstation. Additionally, in some embodiments, the layout generation module 220 may determine the positioning of the second workstation based on any additional positioning constraints associated with the second workstation. If the second workstation is associated with a positioning constraint specifying other workstations whose positioning has not yet been determined, the layout generation module 220 may determine the positioning of the second workstation after the positioning of the other workstations has been determined.
[0047] In some embodiments, determining whether the positioning of any additional workstations is dependent on the positioning of the first workstation includes determining whether any workstation is associated with the same operation, operation category, or operation task as the first workstation. In response to determining that the second workstation is associated with the same operation, operation category, or operation task as the first workstation, the layout generation module 220 determines the positioning of the second workstation based on the positioning of the first workstation. For example, workstations associated with the same operation, operation category, or operation task may be placed close to each other in the layout. Additionally, in some embodiments, the layout generation module 220 determines the positioning of the second workstation based on data describing the operation, operation category, or operation task. For example, the positioning of the second workstation may be based on the order in which the operation or operation task workflow uses the second workstation relative to the first workstation and other workstations used by the operation or operation task workflow.
[0048] In one or more embodiments, after the layout generation module 220 determines the position of the first workstation and any additional workstations, the layout generation module 220 selects the next workstation from any remaining workstations whose positions have not yet been determined. The layout generation module 220 determines the position of the next workstation and any additional workstations based on the position of the next workstation. The above steps may be repeated until the corresponding positions of all workstations in the plurality of workstations have been determined.
[0049] The analysis diagram generation module 222 receives the layout 230, the operational data 210, and the workstation data 212 and generates an analysis diagram 240. The analysis diagram 240 includes a plurality of nodes and a plurality of edges connecting the nodes. Each of the plurality of nodes corresponds to the location of a workstation indicated by the layout. In addition, in some embodiments, the analysis diagram may include one or more nodes corresponding to the location of other elements of the building layout, such as workstation entry points, tool and supply storage facilities, and elevators. Each edge of the diagram corresponds to a pathway connecting two workstations, such as an aisle, corridor, staircase, or other transportation path.
[0050] In one or more embodiments, each of the plurality of nodes is associated with data describing a corresponding workstation or other element of a building layout. For example, the data describing a workstation or building element may include data indicating the workstation or building element corresponding to the node, one or more operations associated with the workstation or building element, one or more operational tasks associated with the workstation or building element, or other information related to the workstation or building element.
[0051] In one or more embodiments, each of the plurality of edges is associated with data describing the corresponding path. For example, the data describing the path may include data indicating the path corresponding to the edge, the length of the path, the width of the path, the height of the path, (if the path is a transport path) the components that the transport path is configured to transport, or other information related to the path. In some embodiments, if the path includes a turn, the data describing the path may include data indicating the angle of the turn.
[0052] Path generation module 224 receives analysis graph 240 and operational data 210 and generates a plurality of paths 250. In some embodiments, each path 250 corresponds to a respective operation of one or more operations. A path corresponding to an operation indicates, for that operation, a path that a worker may take through the building while performing the operation. In some embodiments, each operation is associated with a plurality of operational tasks. Each path corresponds to a respective operational task of one or more operations. A path corresponding to an operational task indicates, for that operational task, a path that a worker may take through the building while performing the operational task.
[0053] In one or more embodiments, generating a path 250 for an operation or operational task is based on the analysis graph and the workstations used for the operation or operational task. Path generation module 224 determines one or more workstations used for the operation or operational task based on operational data 210. Path generation module 224 calculates a shortest path including nodes corresponding to the one or more workstations by analyzing graph 240. Additionally, in some embodiments, path generation module 224 determines the order in which workers use the workstations when performing the steps of the operation or operational task. Calculating the shortest path by analyzing graph 240 includes determining a shortest path that passes through the nodes corresponding to the one or more workstations in the order in which the workers use the one or more workstations.
[0054] In one or more embodiments, generating a path 250 for an operation or operational task further includes determining, based on the operational data 210, one or more elements of a building used by the operation or operational task, such as a workstation entry point, a tool or supply storage facility, equipment, materials, or an elevator. The path generation module 224 calculates a shortest path that includes the one or more elements of the building and the one or more workstations by analyzing the graph 240. Additionally, in some embodiments, the path generation module 224 determines the order in which workers use the workstations and building elements when performing the steps of the operation or operational task. Calculating the shortest path by analyzing the graph 240 includes determining a shortest path that passes through nodes corresponding to the one or more workstations and the one or more elements of the building in the order in which the workers use the one or more workstations and the one or more elements of the building.
[0055] In one or more embodiments, generating a path 250 for an operation or operational task further includes determining one or more transportation requirements or restrictions associated with the operation or operational task based on the operational data 210. For example, a transportation requirement or restriction may indicate that a specific transportation path must be used for a specific step of the operation or operational task. As another example, a transportation requirement or restriction may indicate that corridors and aisles must be greater than a specified width, greater than a specified height, or cannot include turns less than a specified number of degrees for a specific step. Calculating the shortest path by analyzing the graph 240 includes determining the shortest path that complies with the one or more transportation requirements or restrictions associated with the operation or operational task.
[0056] The 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 measure of productivity of one or more operations when the one or more operations are performed in the building using a particular layout.
[0057] In one or more embodiments, each layout productivity value 228 corresponds to a corresponding operation in 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 can be the number of edges traversed in the path. As another example, each edge in the analysis graph can be associated with a value, and the layout productivity value can be the sum of the values associated with the edges traversed in the path. In other embodiments, the layout productivity value corresponds to the length of the path traversed by the path. For example, each edge in the analysis graph can be associated with a path, and each path can be associated with data indicating the length of the path. The layout productivity value can be the sum of the lengths of the paths associated with the edges traversed in the path.
[0058] In one or more embodiments, each operation is associated with a plurality of operational tasks, and each layout productivity value 228 indicates an overall estimated measure of productivity for the plurality of operational tasks associated with the corresponding operation. Generating the layout productivity value 228 includes determining a plurality of paths 250 associated with the plurality of operational tasks for the corresponding operation, and calculating a task productivity value associated with each of the plurality of operational tasks based on the paths corresponding to the operational tasks. In some embodiments, the layout productivity value 228 for an operation is the sum of the task productivity values associated with the plurality of operational tasks for the operation.
[0059] In some embodiments, the task productivity value corresponds to the length of the path. For example, the task productivity value can be the number of edges traversed in the path. As another example, each edge in the analysis graph can be associated with a value, and the task productivity value can be the sum of the values associated with the edges traversed in the path. In other embodiments, the task productivity value corresponds to the length of the path traversed by the path. For example, each edge in the analysis graph can be associated with a path, and each path can be associated with data indicating the length of the path. The task productivity value can be the sum of the lengths of the paths associated with the edges traversed in the path.
[0060] In one or more embodiments, each layout productivity value 228 corresponds to a corresponding category or other grouping of one or more operations of a building. Each layout productivity value 228 indicates an overall estimated measure of productivity for the operations in the corresponding category or grouping. Generating the layout productivity values 228 includes calculating an operational productivity value associated with each operation in the category or grouping. Calculating operational productivity values associated with an operation can be performed in a manner similar to that discussed above for calculating layout productivity values associated with a single operation. In some embodiments, the layout productivity value 228 is the sum of the operational productivity values associated with the operations in the corresponding category or grouping.
[0061] In one or more embodiments, generating a layout productivity value includes determining whether a travel burden is associated with an operation or operational task. For example, if the operation or operational task includes traversing stairs, then the travel burden may be using an elevator or transporting materials or parts that exceed a specified weight. In response to determining that a travel burden is associated with the operation or operational task, the simulation module 226 adjusts or weights the productivity value associated with the operation or operational task. In some embodiments, the adjustment or weighting of the productivity value may be based on the severity of the travel burden. The amount by which the productivity value of an operation or operational task is weighted or adjusted may be related to the severity of the travel burden of other operations or operational tasks. For example, the productivity value of a first operation that includes transporting a heavy object may be scaled by a first amount, and the productivity value of a second operation that includes transporting an even heavier object may be scaled by a second amount, the second amount being greater than the first amount.
[0062] In one or more embodiments, generating a layout productivity value includes determining a plurality of operations or operational tasks that are affected by congestion in the building when performing the plurality of operations. For example, congestion in the building may occur if the plurality of operations or operational tasks utilize the same aisle or the same workstation or other element of the building.
[0063] In some embodiments, determining a plurality of operations or operational tasks affected by congestion includes determining a set of paths that traverse one or more of the same edges. Each operation or operational task in the plurality of operations or operational tasks corresponds to a path in the set of paths. In some embodiments, simulation module 226 determines, for each path, the number of edges traversed by other paths. Additionally, simulation module 226 determines, for each edge traversed by other paths, the number of other paths traversing the edge.
[0064] In some embodiments, determining the plurality of operations or operational tasks affected by congestion includes determining that the set of paths passes through one or more of the same nodes. Each operation or operational task in the plurality of operations or operational tasks corresponds to a path in the set of paths. In some embodiments, the simulation module 226 determines, for each path, the number of nodes traversed by other paths. Additionally, the simulation module 226 determines, for each node traversed by other paths, the number of other paths traversing the node.
[0065] In some embodiments, determining that the set of paths traverses one or more of the same nodes and / or one or more of the same edges is based on a schedule of operations or operational tasks associated with the paths 250. If two paths traverse or do not traverse the same edge, but do not traverse the edge or node at the same time or during the same time period, then the simulation module 226 determines that the two paths do not traverse the same edge or node to determine whether the corresponding operations or operational tasks are affected by congestion. For example, if a first path and a second path both traverse an edge, but the simulation module 226 determines that the first path and the second path traverse the edge at different times, then the simulation module 226, when determining the set of paths traversing one or more of the same edges, may determine that the first path and the second path do not traverse the same edge.
[0066] In one or more embodiments, the simulation module 226 determines the time or time period that the path passes through each edge and / or node of the path for each path. For example, the operation data 210 may include data indicating the schedule of an operation or operation task. The simulation module 226 determines the time or time period that the path passes through each edge and / or node of the path based on the schedule of the corresponding operation or operation task. In addition, in some embodiments, the simulation module 226 determines the amount of time it takes to pass through each edge and / or node of the path. The time or time period that determines the path passes through the edge or node is also based on the amount of time required to pass through each edge and / or node of the path.
[0067] As an example, the operational data 210 may include data indicating the amount of time a worker is expected to spend during each step of an operation or operational task. The simulation module 226 determines the amount of time it takes for a path to traverse each node of the path based on the amount of time the worker is expected to spend at the location corresponding to the node while performing the corresponding operation or operational task. As another example, the simulation module 226 may estimate the amount of time required to traverse the path based on the length of the path and the estimated speed at which the worker would move along the path corresponding to the path.
[0068] In response to determining that the plurality of operations or operational tasks are affected by congestion, the simulation module 226 adjusts or weights the productivity value associated with each of the plurality of operations or operational tasks. Additionally, in some embodiments, adjusting or weighting the productivity value includes determining an amount of congestion affecting the operation or operational task, and adjusting or weighting the productivity value based on the amount of congestion.
[0069] In some embodiments, the amount of congestion affecting an operation or operational task can be based on: the number of edges that a corresponding path passes through that other paths pass through; for each edge that other paths pass through, the number of other paths that also pass through that edge; the number of nodes that a corresponding path that other paths pass through passes through; for each node that other paths pass through, the number of other paths that also pass through that node; or any combination thereof.
[0070] In some embodiments, the productivity value of an operation or operation task is weighted or adjusted by an amount related 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 of the first operation may be scaled by a first amount, and the productivity value of the second operation may be scaled by a second amount, where the second amount is greater than the first amount.
[0071] Figure 3 According to various embodiments of the present disclosure Figure 1Flowchart of the steps of the productivity calculation method performed by the productivity calculation engine 118. Figure 1 and Figure 2 The method steps are described with reference to a system, but those 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.
[0072] In step 302, the layout generation module 220 receives the workstation data 212 and the operation data 210 from the database 120. The workstation data 212 includes data describing a plurality of workstations of the building. The operation data 210 includes data describing one or more operations of the building.
[0073] In some embodiments, the layout generation module 220 also receives the geometric data 214 from the database 120. In other embodiments, the layout generation module 220 receives the geometric data 214 from another application, tool, module, or data source. For example, the layout generation module 220 may receive a 3D model of a building from an application for generating or creating 3D models.
[0074] In step 304, the layout generation module 220 generates the layout 230 based on the workstation data 212 and the operation data 210. The layout 230 is generated in the same manner as disclosed above with respect to the layout generation module 220 and as disclosed below with respect to the layout generation module 220. Figure 4 In some embodiments, generating the layout 230 includes, for each of a plurality of workstations in the building, determining a location of the workstation within the building. Additionally, in some embodiments, generating the layout 230 includes determining a location of other rooms or elements of the building (such as storage facilities, tools, supplies, entrances, exits, elevators, stairways, material transport paths or structures, or other rooms or elements used by the plurality of operations) within the building.
[0075] In some embodiments, generating layout 230 is further based on geometric data 214. For example, generating layout 230 may be based on a predefined building geometry. Layout generation module 220 determines the positioning of multiple workstations within the boundaries of the building indicated by geometric data 214. As another example, generating layout 230 may be based on a predefined worksite geometry. Layout generation module 220 determines the positioning of multiple workstations within the boundaries of the worksite indicated by geometric data 214.
[0076] In some embodiments, generating the layout 230 includes generating geometric data for the building. The geometric data for the building may include data indicating the size and shape of the building, the exterior walls of the building, the interior walls of the building (such as the walls of workstations and other rooms), and the size and shape of passageways within the building (such as stairs, transportation paths, corridors, and aisles).
[0077] In some embodiments, generating the layout 230 includes generating geometric data for the building. The geometric data for the building may include data indicating the size and shape of the building, the exterior walls of the building, the interior walls of the building (such as the walls of workstations and other rooms), and the size and shape of passageways within the building (such as stairs, transportation paths, corridors, and aisles).
[0078] Figure 4 According to various embodiments of the present disclosure Figure 1 Productivity calculation engine 118 and Figure 2 Flowchart of the method steps for layout generation performed by the layout generation module 220. Figure 1 and Figure 2 The method steps are described with reference to a system, but those 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.
[0079] In step 402, the layout generation module 220 selects a first workstation and determines a location for the first workstation. Determining the location of the first workstation is performed in a manner similar to that disclosed above with respect to the layout generation module 220. In some embodiments, determining the location of the first workstation is based on one or more of the following: the size and shape of the first workstation, the size and shape of the building, and the size and shape of the worksite. In some embodiments, the location of the first workstation is randomly selected. In some embodiments, the location of the first workstation is selected from one or more predetermined or preconfigured locations.
[0080] Additionally, in some embodiments, the layout generation module 220 determines an orientation of the first workstation. In some embodiments, the orientation of the first workstation is determined based on one or more of the following: the size and shape of the first workstation, the size and shape of the building, and the size and shape of the worksite. In some embodiments, the orientation of the first workstation can be randomly selected. In some embodiments, the orientation of the first workstation is selected from one or more predetermined or preconfigured orientations.
[0081] In step 404, the layout generation module 220 determines whether the positioning of any additional workstations is dependent on the positioning of the first workstation. Determining whether the positioning of any additional workstations is dependent on the positioning of the first workstation is performed in a manner similar to that disclosed above with respect to the layout generation module 220.
[0082] In some embodiments, determining whether the positioning of any additional workstations is dependent on the positioning of the first workstation includes determining whether any workstations are associated with positioning constraints specifying the first workstation.
[0083] In some embodiments, determining whether the positioning of any additional workstations is dependent on the positioning of the first workstation includes determining whether any workstations are associated with the same operation, category of operation, or operational task as the first workstation.
[0084] In step 406, the layout generation module 220 determines the 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 the layout generation module 220.
[0085] In some embodiments, in response to determining that the positioning constraints specify a first workstation, the layout generation module 220 determines a second workstation associated with the positioning constraints. The layout generation module 220 determines the position of the second workstation based on the positioning constraints and the position of the first workstation. Additionally, in some embodiments, the layout generation module 220 may determine the position of the second workstation based on any additional positioning constraints associated with the second workstation. If the second workstation is associated with positioning constraints that specify other workstations whose positions have not yet been determined, the layout generation module 220 may determine the position of the second workstation after the positions of the other workstations have been determined.
[0086] In some embodiments, in response to determining that the second workstation is associated with the same operation, operation category, or operation task as the first workstation, the layout generation module 220 determines the location of the second workstation based on the location of the first workstation. Additionally, in some embodiments, the layout generation module 220 determines the location of the second workstation based on data describing the operation, operation category, or operation task, such as the order in which the operation or operation task workflow uses the second workstation relative to the first workstation and other workstations used by the operation or operation task workflow.
[0087] The above steps 402 to 406 are repeated for the remaining workstations whose positions have not yet been determined until the corresponding positions have been determined for all the workstations in the plurality of workstations.
[0088] Return Reference Figure 3 In step 306, the simulation module 226 generates a productivity value for each of the plurality of operation tasks described in the operation data 210. Generating productivity values for the plurality of operation tasks is similar to that disclosed above with respect to the analysis graph generation module 222, the path generation module 224, and the simulation module 226 and as described below with respect to Figure 5 The further described method is performed in a similar manner.
[0089] Figure 5 According to various embodiments of the present disclosure Figure 1 Productivity calculation engine 118 and Figure 2Flowchart of the method steps for calculating the operational productivity and overall productivity performed by the analysis graph generation module 222, the path generation module 224 and the simulation module 226. Figure 1 and Figure 2 The method steps are described with reference to a system, but those 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.
[0090] In step 502, the chart generation module 222 receives the layout 230. Additionally, the chart generation module 222 may receive the operational data 210 and the workstation data 212. In some embodiments, the chart generation module 222 receives the layout 230 from the layout generation module 220. In other embodiments, the chart generation module 222 receives the layout 230 from another application, tool, or module that generates the layout 230. For example, the chart generation module 222 may receive the layout 230 from an application that generates and optimizes a building layout.
[0091] In step 504, the analysis diagram generation module 222 generates an analysis diagram 240 based on the layout 230. The analysis diagram 240 includes a plurality of nodes and a plurality of edges connecting the nodes. Each of the plurality of nodes corresponds to the location of a workstation indicated by the layout. In addition, in some embodiments, the analysis diagram may include one or more nodes corresponding to the location of other elements of the building layout, such as workstation entry points, tool and supply storage facilities, and elevators. Each edge of the diagram corresponds to a passage connecting two workstations, such as an aisle, corridor, staircase, or other transportation path.
[0092] In some embodiments, generating a graph 240 based on the layout 230 includes determining a plurality of locations corresponding to workstations and other building elements in the layout. The graph generation module 222 generates a corresponding node of the graph for each of the plurality of locations. Additionally, in some embodiments, the graph generation module 222 generates data describing the workstations or other building elements corresponding to the locations based on the workstation data 212 and associates the data with the corresponding nodes.
[0093] In some embodiments, generating a graph 240 based on the layout 230 includes determining a plurality of paths in the layout. The graph generation module 222 determines, for each path in the plurality of paths, a first location and a second location connected by the path. The graph generation module 222 generates a corresponding edge corresponding to the path, wherein the edge connects a first node corresponding to the first location and a second node corresponding to the second location. Furthermore, in some embodiments, the graph generation module 222 generates data describing the path based on the layout 230 and associates the data with the corresponding edge.
[0094] In step 506, the path generation module 224 determines workstation locations for an operational task in the plurality of operational tasks based on the operational data 210. In some embodiments, the path generation module 224 determines one or more workstations used by the operational task based on the operational data 210. Additionally, in some embodiments, the path generation module 224 determines a sequence in which workers use the workstations when performing the steps of the operational task.
[0095] In step 508, the path generation module 224 determines additional building locations for the operational task. In some embodiments, the path generation module 224 determines one or more elements of the building used by the operational task, such as workstation access points, tool or supply storage facilities, equipment, materials, or elevators, based on the operational data 210. Additionally, in some embodiments, the path generation module 224 determines the order in which the worker uses the workstations and building elements when performing the steps of the operational task.
[0096] In step 510, the path generation module 224 calculates a path for the operation or operation task. In some embodiments, the path generation module 224 calculates a shortest path that includes nodes corresponding to one or more workstations used by the operation task and any additional building elements used by the operation task by analyzing the graph 240. In addition, in some embodiments, the path generation module 224 calculates a shortest path that passes through the nodes in the order in which the one or more workstations and additional building elements are used by the worker when performing the operation task by analyzing the graph 240.
[0097] In some embodiments, calculating a path for the operational task further includes determining one or more transportation requirements or constraints associated with the operational task based on the operational data 210. Calculating the shortest path by analyzing the graph 240 includes calculating the shortest path that complies with the one or more transportation requirements or constraints associated with the operational task.
[0098] The above steps 506 to 510 are repeated for each operation task in the plurality of operations or operation tasks to generate a plurality of paths 250 corresponding to the plurality of operations or operation tasks.
[0099] In step 512, the simulation module 226 calculates a plurality of task productivity values based on the plurality of paths 250. For each of the plurality of paths, the simulation module 226 calculates a corresponding task productivity value. In some embodiments, each task productivity value corresponds to the length of the corresponding path. In other embodiments, each task productivity value corresponds to the length of a path traversed by the corresponding path.
[0100] In some embodiments, calculating the task productivity value for a route includes determining whether a travel burden is associated with an operational task corresponding to the route. In response to determining that the travel burden is associated with the operation or operational task, the simulation module 226 adjusts or weights the productivity value associated with the operation or operational task. In some embodiments, the adjustment or weighting of the productivity value may be based on the severity of the travel burden.
[0101] In some embodiments, calculating the task productivity value of 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 the following: determining whether the edges traversed by the path are also traversed by other paths; determining whether the nodes traversed by the path are also traversed by other paths; determining the time or time period when the path traverses each edge and / or node; determining the time or time period when other paths traverse each corresponding edge and / or corresponding node of other paths. In response to determining that the operation task is affected by congestion, the simulation module 226 adjusts or weights the productivity value associated with each operation or operation task in the plurality of operations or operation tasks. In addition, in some embodiments, adjusting or weighting the productivity value includes determining the amount of congestion affecting the operation or operation task, and adjusting or weighting the productivity value based on the amount of congestion.
[0102] Return Reference Figure 3 In step 308, the simulation module 226 generates one or more layout productivity values 228 for the layout 230 based on the productivity values of the plurality of operations or operation tasks. Generating an overall productivity value for the layout is performed in a manner similar to that disclosed above with respect to the simulation module 226.
[0103] In one or more embodiments, each layout productivity value 228 corresponds to a corresponding operation in one or more operations of a building. Each operation is associated with a corresponding plurality of operational tasks. The layout productivity value corresponding to the operation is generated based on the task productivity values associated with the corresponding plurality of operational tasks. In some embodiments, the layout productivity value 228 for an operation is the sum of the task productivity values associated with the plurality of operational tasks of the operation.
[0104] In summary, a computer system generates performance indicators related to a building that include one or more productivity values indicating productivity levels corresponding to the building layout. The computer system receives input data describing a plurality of workstations for the building and a plurality of operations occurring in the building.
[0105] In one approach, a computer system generates a layout for a building based on input data, the layout specifying the location within the building for each of a plurality of workstations. For example, data describing a plurality of workstations may indicate which workstations should be located adjacent to each other, or data describing a plurality of operations may indicate which workstations are required for each operation. The computer system generates the layout based on which workstations should be located adjacent to each other and / or which workstations are required to complete a given operation or set of operations. In another approach, the computer system receives a predefined layout specifying the location within the building for each of a plurality of workstations.
[0106] For each of the plurality of operations, the computer system calculates a productivity value. Calculating the productivity value for the operation can be based on any number of characteristics of the building layout and the operation, such as the workstations required for the operation, the positioning of the workstations required for the operation, the order of the workstations required for the operation, the positioning of supplies and tools required for the operation, the amount of time a worker must spend at each workstation for the operation, and the distance and travel time between workstations required for the operation.
[0107] Based on the productivity values of the plurality of operations, the computer system calculates one or more productivity values for the building layout. In some embodiments, each of the plurality of operations corresponds to a respective operation category in one or more operation categories. The computer system generates a respective productivity value for each operation category based on the productivity values of the operations corresponding to the operation category. In other embodiments, other methods for grouping operations into various categories may be used.
[0108] At least one advantage of the disclosed technology is that a computer system measures the productivity of a building or workplace based on a suggested or automatically generated layout for the building or workplace, without requiring the layout to be implemented and used in the operation of the building or workplace. Unlike typical methods that involve measuring productivity in a building or workplace after creating and implementing the layout, this method allows for rapid analysis, measurement, and comparison of the productivity of multiple potential layouts. Users can use the generated measurements to further optimize potential layouts and quickly see how different adjustments to the layout affect productivity. In addition, this method can be used as part of a design application that iteratively generates improved layouts that meet specific design goals. For example, a design application can use productivity values for different operational categories to determine the most efficient layout for a particular operational category. As another example, a design application can use productivity values as one of several metrics to consider when evaluating different layouts. Therefore, these technical advantages provide one or more technical improvements over prior art methods.
[0109] 1. In various embodiments, a computer-implemented method for determining performance indicators related to a building includes: receiving workstation data describing a plurality of workstations included in the building and operation data describing one or more operations performed in the building; generating a building layout based at least on the workstation data, the building layout specifying a corresponding position of the workstation for each of the plurality of workstations; generating an analysis diagram based on the building layout; and for each of the one or more operations: generating one or more paths based on the analysis diagram, and calculating a productivity value associated with the operation based at least on the one or more paths.
[0110] 2. The method of clause 1, wherein generating the one or more paths is further based on one or more workstations associated with the operation.
[0111] 3. The method of clause 1 or 2, wherein generating the one or more paths is further based on one or more transportation constraints associated with the operation.
[0112] 4. The method of any one of clauses 1 to 3, wherein generating the one or more paths is further based on one or more workflows associated with the operation.
[0113] 5. A method as described in any one of clauses 1 to 4, wherein each of the one or more operations is associated with multiple operation tasks, and wherein generating the one or more paths includes: for each operation task in the multiple operation tasks, generating a corresponding path corresponding to the operation task.
[0114] 6. A method as described in any one of clauses 1 to 5, wherein calculating the productivity value associated with the operation includes: for each operation task in the multiple operation tasks, calculating the corresponding productivity value associated with the operation task based on the path corresponding to the operation task.
[0115] 7. A method as described in any one of clauses 1 to 6, further comprising: for each of the one or more operations: determining whether the operation is associated with a travel burden based on the operation data; and in response to determining that the operation is associated with the travel burden, adjusting the productivity value associated with the operation.
[0116] 8. A method as described in any one of clauses 1 to 7, further comprising: for each of the one or more operations: determining whether the operation is affected by congestion based on the one or more paths; and in response to determining that the operation is affected by congestion, adjusting the productivity value associated with the operation.
[0117] 9. The method of any one of clauses 1 to 8, further comprising calculating one or more overall productivity values associated with the building layout based on the productivity values associated with the one or more operations.
[0118] 10. A method as described in any of clauses 1 to 9, wherein generating the building layout includes: determining the position of a first workstation among the multiple workstations, determining the position of a second workstation among the multiple workstations depending on the position of the first workstation, and determining the position of the second workstation based on the position of the first workstation.
[0119] 11. The method of any of clauses 1 to 10, wherein determining that the location of the second workstation is dependent on the location of the first workstation is based on a location constraint associated with the second workstation.
[0120] 12. A method as described in any of clauses 1 to 11, wherein determining the positioning of the second workstation depends on the positioning of the first workstation is based on one or more of the following: 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 operational task associated with the first workstation, or an operational task associated with the second workstation.
[0121] 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 following steps: receiving workstation data describing a plurality of workstations included in a building and operation data describing one or more of the operations performed in the building; generating a building layout based at least on the workstation data, the building layout specifying a corresponding position of the workstation for each of the plurality of workstations; generating an analysis diagram based on the building layout; and for each of the one or more operations: generating one or more paths based on the analysis diagram, and calculating a productivity value associated with the operation based at least on the one or more paths.
[0122] 14. The one or more non-transitory computer-readable media of clause 13, wherein generating the one or more paths is further based on one or more workstations associated with the operation.
[0123] 15. The one or more non-transitory computer-readable media of clause 13 or 14, wherein generating the one or more routes is further based on one or more transportation constraints associated with the operation.
[0124] 16. The one or more non-transitory computer-readable media of any of clauses 13 to 15, wherein generating the one or more paths is further based on one or more workflows associated with the operations.
[0125] 17. One or more non-transitory computer-readable media as described in any one of clauses 13 to 16, wherein each of the one or more operations is associated with multiple operational tasks, and wherein generating the one or more paths includes: for each operational task in the multiple operational tasks, generating a corresponding path corresponding to the operational task.
[0126] 18. One or more non-transitory computer-readable media as described in any one of clauses 13 to 17, wherein calculating the productivity value associated with the operation includes: for each operation task in the multiple operation tasks, calculating the corresponding productivity value associated with the operation task based on the path corresponding to the operation task.
[0127] 19. One or more non-transitory computer-readable media as described in any one of clauses 13 to 18, further comprising: for each of the one or more operations: determining whether the operation is associated with a travel burden based on the operation data; and in response to determining that the operation is associated with the travel burden, adjusting the productivity value associated with the operation.
[0128] 20. In various embodiments, a computer system includes: 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 a building and operation data describing one or more of the operations performed in the building; generate a building layout based at least on the workstation data, the building layout specifying a corresponding position of the workstation for each of the plurality of workstations; generate an analysis diagram based on the building layout; and for each of the one or more operations: generate one or more paths based on the analysis diagram, and calculate a productivity value associated with the operation based at least on the one or more paths.
[0129] Any and all combinations of the claimed elements recited in any claim and / or any elements described in this application, in any manner, are within the contemplated scope of the invention and protection.
[0130] The descriptions of the various embodiments have been presented for illustrative purposes, but are not intended to be exhaustive or limited to the disclosed embodiments. 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.
[0131] Aspects of the embodiments of the present invention may be embodied as a system, method, or computer program product. Thus, aspects of the present disclosure may take the form of an all-hardware embodiment, an all-software embodiment (including firmware, resident software, microcode, etc.), or a combination of software and hardware aspects, which may all be collectively referred to herein as a "module," "system," or "computer." Additionally, any hardware and / or software technology, process, function, component, engine, module, or system described in the present disclosure may be implemented as a circuit or group of circuits. Additionally, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer-readable media having computer-readable program code embodied thereon.
[0132] Any combination of one or more computer-readable media can be utilized. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the foregoing. More specific examples (non-exhaustive list) of computer-readable storage media will include the following media: an electrical connection with one or more wires, a portable computer floppy disk, 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 can be any tangible medium that can contain or store a program for use by an instruction execution system, device, or apparatus, or used in conjunction with the instruction execution system, device, or apparatus.
[0133] Aspects of the present disclosure are described above with reference to the flowchart illustrations and / or block diagrams of the methods, devices (systems) and computer program products according to the embodiments of the present disclosure. It will be understood that each frame of the flowchart illustrations and / or block diagrams and the combination of frames in the flowchart illustrations and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer or other programmable data processing device to produce a machine. The instructions enable the function / action specified in one or more frames of the flowchart and / or block diagram to be implemented when the processor of the computer or other programmable data processing device is executed. Such processors can be, but are not limited to, general-purpose processors, special-purpose processors or field programmable gate arrays.
[0134] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of the systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram may represent a module, fragment, or portion of a code that includes one or more executable instructions for implementing one or more specified logical functions. It should also be noted that in some alternative implementations, the functions mentioned in the box may not appear in the order mentioned in the accompanying drawings. For example, two boxes shown in succession may actually be executed roughly simultaneously, or the boxes may sometimes be executed in the opposite order, depending on the functionality involved. It should also be noted that each box in the block diagram and / or flowchart illustration and the combination of boxes in the block diagram and / or flowchart illustration may be implemented by a dedicated hardware-based system or a combination of dedicated hardware and computer instructions that performs the specified function or action.
[0135] While the foregoing is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be envisaged without departing from the basic scope thereof, and the scope of the disclosure is determined by the claims that follow.
Claims
1. A computer-implemented method for determining a performance indicator related to a building, the method comprising: receiving workstation data describing a plurality of workstations located in a building and operation data describing one or more operations performed in the building; generating a building layout based at least on the workstation data, the building layout specifying, for each workstation of the plurality of workstations, a respective location of the workstation; generating an analysis diagram based on the building layout; as well as For each of the one or more operations: generating one or more paths based on the analysis graph; as well as A productivity value associated with the operation is calculated based at least on the one or more paths. 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 routes is further based on one or more transportation constraints associated with the operation. 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 of the one or more operations is associated with a plurality of operational tasks, and wherein generating the one or more paths comprises: For each operation task among the plurality of operation tasks, a corresponding path corresponding to the operation task is generated.
6. The method of claim 5, wherein calculating the productivity value associated with the operation comprises: For each of the plurality of operational tasks, a respective productivity value associated with the operational task is calculated based on the path corresponding to the operational task.
7. The method of claim 1 , further comprising, for each of the one or more operations: determining whether the operation is associated with a travel burden based on the operation data; and In response to determining that the operation is associated with the travel burden, the productivity value associated with the operation is adjusted.
8. The method of claim 1 , further comprising, for each of the one or more operations: determining whether the operation is affected by congestion based on the one or more paths; and In response to determining that the operation is affected by congestion, the productivity value associated with the operation is adjusted.
9. The method of claim 1, further comprising: One or more overall productivity values associated with the building layout are calculated based on the productivity values associated with the one or more operations.
10. The method of claim 1 , wherein generating the building layout comprises: determining a location of a first workstation among the plurality of workstations; determining that a position of a second workstation of the plurality of workstations is dependent on the position of the first workstation; as well as The position of the second workstation is determined based on the position of the first workstation.
11. The method of claim 10, wherein determining that the location of the second workstation is dependent on the location of the first workstation is based on a location constraint associated with the second workstation.
12. The method of claim 10 , wherein determining the location of the second workstation is dependent 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 operational task associated with the first workstation, or an operational 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 following steps: receiving workstation data describing a plurality of workstations located in a building and operation data describing one or more operations performed in the building; generating a building layout based at least on the workstation data, the building layout specifying, for each workstation of the plurality of workstations, a respective location of the workstation; generating an analysis diagram based on the building layout; as well as For each of the one or more operations: generating one or more paths based on the analysis graph; as well as A productivity value associated with the operation is calculated based at least on the one or more paths.
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 transportation constraints 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 operations.
17. The one or more non-transitory computer-readable media of claim 13, wherein each of the one or more operations is associated with a plurality of operational tasks, and wherein generating the one or more paths comprises: For each operation task among the plurality of operation tasks, a corresponding path corresponding to the operation task is generated.
18. The one or more non-transitory computer-readable media of claim 17, wherein calculating the productivity value associated with the operation comprises: For each of the plurality of operational tasks, a respective productivity value associated with the operational task is calculated based on the path corresponding to the operational task.
19. The one or more non-transitory computer-readable media of claim 13, further comprising, for each of the one or more operations: determining whether the operation is associated with a travel burden based on the operation data; and In response to determining that the operation is associated with the travel burden, the productivity value associated with the operation is adjusted.
20. A computer system comprising: one or more memories storing instructions; as well as one or more computer processors to process the instructions to: receiving workstation data describing a plurality of workstations located in a building and operation data describing one or more operations performed in the building; generating a building layout based at least on the workstation data, the building layout specifying, for each workstation of the plurality of workstations, a respective location of the workstation; generating an analysis diagram based on the building layout; and For each of the one or more operations: generating one or more paths based on the analysis graph; and A productivity value associated with the operation is calculated based at least on the one or more paths.
Citation Information
Patent Citations
Intelligent building integrated system
CN101963803A
Systems and methods for construction field management and operations with building information modeling
CN102884532A