2.1. Master Model
In the proposed framework, the master model is comprised of a neutral BIM model, external data, a product definition, and a middleware component. The aim of the master model is to provide a parametric product representation that can be used to automatically generate different domain models for performance evaluation and optimization. Each time the master model is changed, the alterations are also propagated to the domain models that are derived from the master [
14].
The role of the neutral BIM model is to provide the primary means of input and output to and from the proposed framework, i.e., it acts as a central repository [
12]. It is based on the idea that if a neutral format is used to express product data, it reduces the number of translators needed between the proposed framework and other applications [
29], such as BIM authoring tools. The neutral BIM model comprises a comprehensive accumulation of information, including geometric representations and coupled attribute data. It contains a snapshot of the project at its current state and configuration. The purpose of the neutral BIM model is not to be the primary model passed through evaluations or optimization. The purpose is rather to contain a representation of (1) the initial design, and (2) the optimal solution (provided as the outcome of the optimization). The initial design from the neutral BIM model is a foundation for generating the different domain models in conjunction with the product definition. We can view the neutral BIM model as a temporarily static entity turned into a situational entity by application of the product definition and its solution space, i.e., all possible solutions that can be created within the valid (i.e., constraints permitting) value ranges of the design variables. When the optimization is complete and a solution has been chosen, the neutral BIM model contains the representation of the selected optimal solution.
Because optimization relies on the ability to change different parameters in search for better design alternatives, the use of a product definition is suggested in the framework. The product definition contains a collection of design variables and constraints. This collection provides a description of the product range and contains all the possible configurations that the product (i.e., building) can encompass. This is achieved by defining design variables that refer to what parts of a building’s design that is subjected to the optimization in search for better design solutions. Examples of design variables include the material selection of thermal insulation, quantity (e.g., thickness) of materials, and component selection for different windows, which also is demonstrated in the prototype; however, future prototypes could also include: The building’s orientation, load-bearing materials, etc. These design variables can be defined either as continuous or discrete, with upper and lower bounds. Continuous design variables are useful in defining, for example, the range of a material’s thickness (or the rotation of a building), whilst discrete design variables are used when defining a given set of components (e.g., different type of materials for thermal insulation).
The product definition also contains constraints used to express limits on valid product configurations. Constraints are used in instances where the domains of the design variables are unable to express those limits. For example, constraints can be used to define the maximum thickness of a wall, whereas the multiple layers of the wall are defined through design variables. Constraints can also be set on the overall building, for instance, a constraint can be defined that only allows configurations where the operative temperature of the building falls within a given range. These types of constraints can be useful in order to ensure that the building complies with requirements and regulations.
When coupling the neutral BIM-model to the product definition, additional data might be required for the generation of domain models. The need for additional data comes from the introduction of the product range provided by the product definition. As the neutral BIM-model contains a snapshot of the current state of the building, it might lack some of the data that are necessary to evaluate different configurations. As such, the proposed framework includes external data sources in the master model. These can include, for example, a material properties’ database, cost recipes, structural characteristics of construction materials, geographically dependent factors, such as climate data, etc. The primary goal of the external data is to provide domain information necessary for the performance evaluation of the domain model. For example, energy simulations need to have the thermal properties of each constituent material and these might not exist for all possible alternatives defined by the design variables within the neutral BIM-model. Additionally, external data can provide a source of data that is relevant only to the domain model, its simulations, analyses, or other processes, which is not necessary to store in the BIM model. The notation of “External”, in this instance, refers to how the information is related to the neutral BIM model. As the neutral BIM model is regarded as the centralized repository for building information [
12], accompanying data is regarded as external as it falls outside the boundaries of that centralized repository. External as such could imply that it is gathered from a website, database, spreadsheet, document, or any other entity deemed to be outside the scope of the centralized repository.
In order for the master model to enable optimization, an automated process is required for the generation of domain models, evaluation of those domain models, and execution of the optimization approach itself. Achieving this automated process includes managing the challenges of interoperability between domain models [
4,
10,
11]. The master model in the proposed framework, therefore, includes a middleware component, whose purpose is to enable an automated process execution. The role of the middleware component is to facilitate communication and coordination [
30]. In the proposed framework, this entails the implementation of functions to manage data and control [
31]. Managing data is done by exchanging data from and to the neutral BIM model, external data, domain models, performance evaluation, and optimization. The middleware component does this whilst ensuring the compatibility of the exchanged data, by translating and transforming data according to the requirements of the process. Managing control is an additional layer in the middleware component that is responsible for coordinating the execution and interaction between the master model, domain models, performance evaluation, and optimization. Combined, it is the functions of the middleware component to manage the wide range of data and processes, which are required for multidisciplinary optimization, which allows for the automated execution of the optimization approach in the proposed framework.
2.2. Domain Models and Performance Evaluation
Based on the master model, multiple domain models can be automatically generated and examples of domain models primarily include models for energy simulation, life-cycle analysis, and life-cycle cost estimation among others. The domain models are generated based on a combination of data from the neutral BIM model, external data sources, and the product definition. The neutral BIM model provides the overall building representation and provides the basis from which individual domain models are generated. The overall representation is then transformed based on the product definition and additional data is appended to generate a domain model. For example, the representation found in the neutral BIM model can define a building’s envelope and composition through various construction elements. In creating a domain model for energy simulation, the product definition can then be used to define the constituent materials of the building’s envelope together with possible configurations. In the generation of domain models, external data is then used to complete the required data to represent a given domain model.
Each domain model is then used by the solver of each analysis software (e.g., energy, life-cycle cost). The analysis software evaluates the results of the domain model, i.e., the current configuration of the master model. Depending on the type of domain model and what evaluation is intended, the analysis software can include calculations, simulations, analyses, or other processes deemed necessary. The evaluation provides the objectives of the multidisciplinary optimization.
Automatically generating domain models and coupling them to a performance evaluation is one of the primary tasks of the middleware component in the master model. It is therefore necessary that, in the proposed framework, the middleware component is able to manage a wide range of systems, tools, and data that is required for this stage of the multidisciplinary optimization.
2.3. Multidisciplinary Optimization
When domain models have been generated and evaluated, they are passed through to multidisciplinary optimization. Here, optimization is the process of finding a function’s maximum or minimum value when selected variables are subject to a set of constraints. From the performance evaluation, objectives are chosen for the optimization of the current building. An objective function is the commonly used name of the optimization function. If the optimization has only one objective function, it is mono-objective; however, if multiple objectives functions are used, the optimization process is multi-objective. The choice of the optimization process depends on the purpose of the study. For instance, if the purpose of the study is to minimize the building’s energy use, then a mono-objective optimization can be adapted. During design, there are often objectives that conflict with each other. For such problems, the application of multi-objective optimization is beneficial to find the optimal solution(s) of design variables and thus solve the existing trade-off between conflicting objectives. In this framework, the application of different domain models provides the possibility to evaluate the impact of design variables on various objectives.
Usually, optimization is implemented by using mathematical algorithms along with an optimization method for selecting optimal solution(s). The algorithm executes design iterations to search for an optimal design in accordance with the specified design variables, constraints, and objectives, while the optimization method finds solutions corresponding to global or local optima from the executed design iterations. In the proposed framework, each iteration is a part of the optimization loop, where the optimization algorithm requests a new solution from the product definition, which is contained within the master model. This request then prompts the master model and its middleware component to propagate these changes to each domain model for evaluation. This provides new values for the objective functions that can be assessed by the optimization algorithm.
Generally, discontinuities can rise in the output of simulation engines and executed iterations by the optimization algorithm if discrete design variables are used [
32]. Research indicates that the stochastic population-based algorithms (such as genetic algorithms (GA), evolutionary algorithms, particle swarm, and hybrid algorithms) are quite robust, with the discontinuities that may rise by the simulation engines when the discrete variables are involved in the optimization problem [
32]. When the optimization is mono-objective, then the optimization method used to find solutions corresponding to optima from the executed design iterations is simple and focused on the solution(s) that provide a maximum/minimum objective function. However, for the multi-objective problems, two common approaches can be employed as the optimization method for finding the optimal solution from the iterations is carried out by an optimization algorithm. The first method is “scalarization”, in which a weighting factor is assigned to each of the objective functions; the weighted objectives are then summed to produce just one objective function [
33]. The second method, which is called “Pareto optimization”, was proposed by Pareto [
34] and examines a set of trade-off optimal solutions to determine the appropriate ones. A solution is non-dominated or Pareto optimal when there is no other feasible solution that enhances one objective without worsening at least another one. Each of these methods can be beneficial for finding the optimal solution(s) in the optimization of trade-off problems.
When the optimization is complete, the chosen optimal solution is sent back to the master model. The master model is responsible for updating the neutral BIM model to represent the optimal solution.