# US 2019/0377602 A1 · Methods of constructing a construction, and related systems and computer program products

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0377602 A1
- Document ID: US20190377602A1
- Status: Published application
- Kind: A1
- Application number: 16/434,535
- Filed: 2019-06-07
- Published: 2019-12-12
- Earliest claimed: 2018-06-08
- Assignees: nPlan Limited
- Applicants: nPlan Limited
- Inventors: Alan MOSCA
- Web page: https://patentgrep.com/patent/US20190377602A1

## CPC

- G06F 9/4887: {involving deadlines, e.g. rate based, periodic}
- G06Q 10/06311: {Scheduling, planning or task assignment for a person or group}
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/0499: Feedforward networks
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06Q 10/0633: Workflow analysis
- G06Q 10/06334: {using forecasting or predicting}
- G06Q 10/0635: Risk analysis of enterprise or organisation activities
- G06Q 50/08: Construction
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

There is disclosed a method of constructing a construction, the constructing including a plurality of tasks, the method including the computer-implemented steps of: (i) for the plurality of tasks, receiving task data corresponding to each task, the received task data including: data identifying task type; data relating to a planned task duration, and data relating to any relationships to one or more other tasks of the plurality of tasks; (ii) generating a plurality of task vectors, each task vector corresponding to one or more corresponding tasks of the plurality of tasks, using a first trained algorithm which processes the received task data corresponding to the one or more corresponding tasks, such that each task has a corresponding task vector; (iii) for each task vector, using a second trained algorithm which receives the task vector as input and generates data relating to a predicted duration time for the one or more corresponding tasks; (iv) generating a schedule including data relating to a predicted schedule duration time, using the data relating to the predicted duration times, the schedule including the tasks, which are ordered in the schedule; the method further including the step of: (v) constructing the construction using the schedule generated in step (iv), the schedule including the tasks which are ordered in the schedule, and the respective predicted duration times of the ordered tasks. Related systems, computer program products and methods are also disclosed.

## Claims

### Claim 1

A method of constructing a construction, the constructing including a plurality of tasks, the method including the computer-implemented steps of:
(i) for the plurality of tasks, receiving task data corresponding to each task, the received task data including: data identifying task type; data relating to a planned task duration, and data relating to any relationships to one or more other tasks of the plurality of tasks;
(ii) generating a plurality of task vectors, each task vector corresponding to one or more corresponding tasks of the plurality of tasks, using a first trained algorithm which processes the received task data corresponding to the one or more corresponding tasks, such that each task has a corresponding task vector;
(iii) for each task vector, using a second trained algorithm which receives the task vector as input and generates data relating to a predicted duration time for the one or more corresponding tasks;
(iv) generating a schedule including data relating to a predicted schedule duration time, using the data relating to the predicted duration times, the schedule including the tasks, which are ordered in the schedule;
the method further including the step of:
(v) constructing the construction using the schedule generated in step (iv), the schedule including the tasks which are ordered in the schedule, and the respective predicted duration times of the ordered tasks.

### Claim 2 (depends on 1)

The method of claim 1, wherein the construction is a building, a bridge, a tunnel, a sewer, a railway, an airport, a port, a dam or a road.

### Claim 3 (depends on 1)

The method of claim 1, the method including the computer-implemented step of: storing the schedule including the data relating to the predicted schedule duration time, and including the tasks which are ordered in the schedule, and the respective predicted duration times of the ordered tasks.

### Claim 4 (depends on 1)

The method of claim 1, wherein the respective predicted duration times of the ordered tasks comprise adjusted values of the planned task durations.

### Claim 5 (depends on 1)

The method of claim 1, wherein the data relating to any relationships to one or more other tasks includes the number of other tasks having a relationship to the task.

### Claim 6 (depends on 1)

The method of claim 1, wherein the generated data relating to a predicted duration time includes a probability distribution.

### Claim 7 (depends on 6)

The method of claim 6, wherein the generated data relating to a predicted duration time includes a time value derived from the probability distribution, e.g. a mean, a mode, a median or a cumulative probability time value.

### Claim 8 (depends on 1)

The method of claim 1, wherein generating the data relating to the predicted schedule duration time comprises:
sampling a respective probability distribution relating to each task vector a plurality of times, to generate a plurality of duration values corresponding to each task vector;
applying the duration values to the schedule to generate a plurality of duration values corresponding to the schedule.

### Claim 9 (depends on 1)

The method of claim 1, wherein an impact of the one or more corresponding tasks corresponding to a task vector is determined by:
sampling the probability distribution relating to the task vector a plurality of times, to generate a plurality of duration values corresponding to the task vector;
applying the duration values to the schedule to generate a plurality of duration values corresponding to the schedule.

### Claim 10 (depends on 1)

The method of claim 1, wherein the impact of the one or more corresponding tasks corresponding to each task vector is determined.

### Claim 11 (depends on 1)

The method of claim 1, wherein, for each task vector, data is generated relating to an impact on the schedule duration time using a third trained algorithm, using the task vector as input.

### Claim 12 (depends on 1)

The method of claim 1, wherein the data relating to the predicted schedule duration time includes a probability distribution.

### Claim 13 (depends on 12)

The method of claim 12, wherein the data relating to the predicted schedule duration time includes a time value derived from the probability distribution, e.g. a mean, a mode, a median or a cumulative probability time value.

### Claim 14 (depends on 1)

The method of claim 1, wherein for a task including data identifying the type of task, data relating to the planned task duration, and/or data relating to any relationships to one or more other tasks, the data does not comprise a null value.

### Claim 15 (depends on 1)

The method of claim 1, wherein if a task where data identifying the type of task, data relating to the planned task duration, and/or data relating to any relationships to one or more other tasks includes a null value:
a task vector is generated using the first trained algorithm;
a plurality of other task vectors in the schedule which are similar to the task vector are identified;
task data for the other task vectors corresponding to the data comprising a null value for the task vector is identified;
task data for the task vector is generated using the task data for the other task vectors;
an updated task vector is generated for the task using a first trained algorithm taking the task data as input.

### Claim 16 (depends on 1)

The method of claim 1, wherein the number of tasks corresponding to a task vector is defined by a fixed window size, and wherein the task data corresponding to the two or more tasks is combined into a one-dimensional vector for input to the first trained algorithm.

### Claim 17 (depends on 1)

The method of claim 1, wherein the first trained algorithm is an encoder part of a neural network based auto-encoder.

### Claim 18 (depends on 1)

The method of claim 1, wherein the second trained algorithm comprises a plurality of neural networks, and wherein the data relating to a predicted duration time is generated by combining the output of the plurality of neural networks.

### Claim 19 (depends on 1)

The method of claim 1, wherein the second algorithm is trained by giving a 1 versus all representation of posterior probability, where the value of P(Rk|Ti) for every range RK is 0, except for the range where the true observation, the ground truth, actually happened.

### Claim 20 (depends on 1)

The method of claim 1, the method further including the computer implemented steps of:
(a) using a training dataset comprising a plurality of tasks and data relating to the actual duration times for one or more tasks;
(b) receiving task data corresponding to each task in the training dataset, the task data including: data identifying task type; data relating to the planned task duration, and data relating to any relationships to one or more other tasks;
(c) training the first algorithm to generate task vectors, using the task data;
(d) generating a plurality of task vectors, each task vector corresponding to one or more tasks, using the first trained algorithm which processes the task data corresponding to the one or more tasks, such that each task has a corresponding task vector;
(e) for each task vector, using the second algorithm which receives the task vector as input and generates data relating to a predicted duration time for the one or more tasks; and
(f) training the second algorithm using the actual duration times.

### Claim 21 (depends on 1)

The method of claim 1, the method further including the computer implemented steps of:
sampling the probability distribution relating to the task vector a plurality of times, to generate a plurality of duration values corresponding to the task vector;
applying the duration values to the schedule to generate a plurality of duration values corresponding to the schedule;
determining an impact of the one or more tasks corresponding to the task vector;
training a third algorithm to generate impact data, using the determined impact.

### Claim 22 (depends on 1)

The method of claim 1, the method (i) including the computer-implemented steps of identification of risky schedule items in the schedule, in a dimension, such as time, monetary, cost, or safety, and receiving input from a planner, and using that input to modify the schedule, for example to reduce risk on identified risky schedule items; or (ii) wherein the constructing a construction comprises a group of projects, or a portfolio of projects, or (iii) wherein the constructing a construction comprises a subproject of a larger project.

### Claim 23 (depends on 1)

The method of claim 1, wherein a predicted duration time for the one or more tasks is presented on a display using a histogram, where each bucket of the histogram represents a time-dimension prediction of the task, and the height of the histogram represents the probability of this outcome.

### Claim 24 (depends on 1)

The method of claim 1, wherein the generated schedule including the data relating to a predicted schedule duration time, and including the tasks, which are ordered in the schedule, is presented on a display using a Gantt chart, wherein an impact each individual task has upon the schedule is highlighted, e.g. using colour and/or distinctive shapes.

### Claim 25 (depends on 1)

The method of claim 1, wherein an array of tiles is presented on a display with respect to two axes, the first axis representing respective portions of the construction of the construction, and the second axis representing respective ranges of completion outcomes of the respective portions of the construction of the construction, wherein each tile includes a presentation of how likely the respective range of completion outcomes is to occur.

### Claim 26

A computer system configured to provide a schedule for constructing a construction, the constructing including a plurality of tasks, the computer system configured to:
(i) for the plurality of tasks, receive task data corresponding to each task, the received task data including: data identifying task type; data relating to a planned task duration, and data relating to any relationships to one or more other tasks of the plurality of tasks;
(ii) generate a plurality of task vectors, each task vector corresponding to one or more corresponding tasks of the plurality of tasks, using a first trained algorithm which processes the received task data corresponding to the one or more corresponding tasks, such that each task has a corresponding task vector;
(iii) for each task vector, use a second trained algorithm which receives the task vector as input and generates data relating to a predicted duration time for the one or more corresponding tasks;
(iv) generate a schedule including data relating to a predicted schedule duration time, using the data relating to the predicted duration times, the schedule including the tasks, which are ordered in the schedule;
(v) provide the schedule generated in (iv), the schedule including the tasks which are ordered in the schedule, and the respective predicted duration times of the ordered tasks.

### Claim 27

A computer program product executable on a processor to provide a schedule for constructing a construction, the constructing including a plurality of tasks, the computer program product executable to:
(i) for the plurality of tasks, receive task data corresponding to each task, the received task data including: data identifying task type; data relating to a planned task duration, and data relating to any relationships to one or more other tasks of the plurality of tasks;
(ii) generate a plurality of task vectors, each task vector corresponding to one or more corresponding tasks of the plurality of tasks, using a first trained algorithm which processes the received task data corresponding to the one or more corresponding tasks, such that each task has a corresponding task vector;
(iii) for each task vector, use a second trained algorithm which receives the task vector as input and generates data relating to a predicted duration time for the one or more corresponding tasks;
(iv) generate a schedule including data relating to a predicted schedule duration time, using the data relating to the predicted duration times, the schedule including the tasks, which are ordered in the schedule;
(v) provide the schedule generated in (iv), the schedule including the tasks which are ordered in the schedule, and the respective predicted duration times of the ordered tasks.
