## First, what is generative design?

To understand generative construction, it is essential to first understand generative design. Keith Meintjes of the product lifecycle management consulting firm CIMdata describes generative design as “an iterative design process that involves a program that will generate a certain number of outputs that meet certain constraints, and a designer that will fine tune the feasible region by selecting specific output or changing input values, ranges and distribution. The designer learns to refine the program (usually involving algorithms) with each iteration as their design goals become better defined over time.”

By combining the above process with computing power and Artificial Intelligence (AI) algorithms, which explore all the possible solutions (permutations) of a scenario and generate many alternatives in a short amount of time, a designer can examine the solution space thoroughly. Through this process, the designer can run numerous tests and learn from each iteration what works and what doesn’t. That way, the designer has the best chance to arrive at the most effective and optimized design. Nature’s evolutionary approach (genetic variation and selection) works in a very similar way and has resulted in the emergence of a world of creatures optimized for their specific environments.

**What about generative construction?**

While much has been written about generative design, the topic hasn’t really received much attention in the construction space. The main reason for this has been that design has been successfully parametrized. By employing computational and parametric models -- sometimes coupled with artificial intelligence (AI) algorithms -- engineers and architects have been able to create thousands of options by simply defining their design problem, inputting basic parameters such as height, weight it must support, strength, and material options.

**Iterations … in construction?**

What about the construction parameters though? Construction not only involves scope (the design and metadata) but also planning, cost estimates, scheduling, equipment, labor, sequence … and the list goes on. These factors constitute the ingredients that come together to influence a decision in a construction project. To color the point with some basic math, let's assume a simple geometry with four construction zones, some basic types of equipment and materials and think about how many construction strategies are mathematically possible:

So, how much of the solution space are we actually investigating before we submit that schedule or that cost proposal?

If we take a step back and try to think how many questions are involved in a construction project, we’ll probably end up with a headache. Given the complexity involved, all the details to keep track of, and all the disciplines interacting, it seems as if the ability to do virtual “what if” experiments — to experiment with rules and assumptions — is paramount before we build something for real.

“the ability to do virtual “what if” experiments — to experiment with rules and assumptions — is paramount before we build something for real.”

Dimitrios Farmakis VP of Product, ALICE Technologies## Generating scheduling options

So, as we’ve seen with design, computational models can help us test and iterate on ideas, extract value from data and ask questions (what if…?). The results or answers produced are then used to understand, design, manage and predict various system behaviors. A parametric model aims to capture (a piece of) the system information within a set of parameters incorporated in a set of related mathematical equations.

The main steps for model-based approaches include defining the objectives (or articulating the questions), inputting the constraints and requirements, generating review and selecting solutions.

Where the concept of generative construction appears is when we start talking about planning and scheduling -- terms that can cause heated discussions in the construction domain. But what’s the difference between them?

Succinctly put:

In a parametric model-based system like ALICE, the popular construction simulation and optimization platform, planning and scheduling are distinct phases. The first one (planning) is governed by the user (human) and the latter (scheduling) is done by the machine. This process happens thousands of times, generating multiple solutions that do not violate the planning constraints. Simply put, the user, by utilizing their experience and knowledge, is focused on ironing out the project objectives, the constraints and limitations that can throw the project off either in terms of budget or completion timeline. Essentially, they are formulating a problem model and making sure it encompasses the necessary complexity. The computer does the hard work, or in other words the “number crunching,” by solving that problem over and over again … in minutes.

Ultimately, a multitude of solutions that include schedule, cost and other KPIs are generated, which the user can evaluate and proceed accordingly, either by:

- Selecting a solution from the generated set
- Changing the parameter values and generating a new solution set
- Changing the problem constraints and generate a new solution set

As a result the conceptual process model for construction transforms from something rigid, static and linear…

… into something dynamic that allows value engineering and insight generation through iterative learning.

Hence, the main goal of the project controls team is no longer to get a schedule or an estimate out. The focus shifts more strategically into considering what parameter values will result in the schedule metrics desired by the project team and stakeholders.

**Parametrizing the construction process model**

Parameters are independent variables that are controlled by the user and their values - if unknown - can be estimated based on historical data or experience-based observations. Parameters express the functional dependence between the input and the output. Therefore, minimal changes to the input are automatically propagated throughout the system and ultimately to the end product (schedule metrics).

At a high level there are 3 main types of parameters: design, planning and scheduling parameters. The first 2 types (design, planning) constitute the main source of input and their values are determined by the user. The values for the scheduling parameters are changed and determined automatically by the algorithm in the background… which produces the numerous solutions with different metrics (duration, cost and analytics).

When a particular value for each parameter is selected, that constitutes a scenario. Thus, the user can assess the effects of a “scenario” (parameter values) on the metrics of interest and explore new scheduling options simply by changing the parameter values and clicking on a button. A more detailed list of of the various parameter types:

- Planning parameters
- Sequence Logic (Support relationships)
- Resources (with properties)
- Labor
- Equipment
- Cranes
- Materials
- Custom properties
- Production Rates
- Calendars
- Recipes
- Operations
- Precedence
- Design parameters
- Model objects
- Model metadata
- Assemblies (Groups)
- Scheduling parameters
- Sequence
- Duration

**Final thoughts**

The shift to generative construction will require industry professionals to approach problems in new ways. They’ll need to think and approach problems differently, and that will need to become a standard operational practice within their organizations. The technology-based solutions that enable generative construction and support decision making are powerful, but

technology in itself will only get us so far. People and processes are the remaining ingredients required to enable companies to make the transformation from conventional to digital.