Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Introduction

In competitive markets, companies often have to offer customer-specific products to meet clients’ requirements. This frequently involves costly new or re-design of existing products. One possibility to keep the costs at an affordable level is Engineering Design Automation (EDA). According to Hubka and Eder (1987), “Engineering design is a process performed by humans aided by technical means through which information in the form of requirements is converted into information in the form of descriptions of technical systems, such that this technical system meets the requirements of mankind”. This process is (partly) automated in EDA.

Simulation and optimization tasks are often an inherent part of engineering design problems, since the ways of defining and evaluating a product often become too complex to find valid and (near) optimal solutions manually in reasonable time (Deb 2010; Roy et al. 2008). A wide range of industries have adopted optimization methods within EDA, e.g. for validating and improving structural aspects (Affenzeller et al. 2015), or appropriately selecting, dimensioning and assembling components to fulfill customer-specific needs (Zhang 2014).

The focus of this paper is a case study concerning the engineering design of a Box-Type Boom (BTB) crane, commonly seen in maritime applications (see Fig. 1 for an example). Such cranes are a prime example for requiring re-design for almost every ordered boom due to varying customer requirements such as boom length and load cases.

Fig. 1
figure 1

Box-type boom crane with indicated pivot- and head-part as well as middle section

Together with Liebherr-Werk Nenzing (2017), the automation of the BTB design in terms of automatically generating a 3D-CAD model, production drawings and welding plans of the boom based on case-specific input values (e.g. length, statics parameters) was realized earlier (Frank et al. 2014). A major task left to the engineer is the definition of the statics parameters (e.g. thicknesses of the plates), which are chosen manually based on experience and previously designed booms. Each boom design must be evaluated using a structural analysis tool to verify static requirements (e.g. stress).

The contribution of this paper is two-fold: First, the BTB optimization problem for automating and optimizing the manual process of defining the statics parameters while minimizing costs is presented in Section “Box-Type Boom Optimization Problem”. The case study shall later serve as an industrial benchmark for comparing different optimization approaches in a simulation-based optimization environment. In comparison to other popular design optimization benchmark problems, such as the pressure vessel problem (Sandgren 1988) or the welded beam problem (Ragsdell and Phillips 1976), the BTB optimization problem is based on a real-world industrial use case that requires a runtime expensive simulation for evaluating certain constraints.

The second contribution of this paper deals with the issue of this runtime expensive simulation tool for the structural analysis of the BTB (presented in Section “Surrogate Modeling for the Box-Type Boom). Since optimization approaches potentially make numerous calls to this structural analysis tool, surrogate models (Forrester and Keane 2009; Wang and Shan 2007) are learned to replace the runtime expensive evaluation in an optimization procedure. Additionally, relationships between the input (e.g. thicknesses of plates) and output (e.g. utilization with regard to stress) of the structural analysis tool can be investigated by analyzing the surrogate models (presented in Section “Results).

Overall, the paper comprises to the introduction of the BTB optimization benchmark problem and the surrogate modeling for replacing the structural analysis tool. Automation and optimization based on these results is out of scope of the paper and left for future work.

Box-Type Boom Optimization Problem

A BTB consists of a pivot-, a middle and a head-section (see Fig. 1). The pivot- and head-part are selected from a list of standardized parts; thus, the optimization of the BTB is limited to the middle section of the boom. This middle section is further divided into segments (3 m each), each of which lies between two bulkheads or a bulkhead and the pivot- or head-part (see Fig. 2 for a boom with 5 segments).

Fig. 2
figure 2

Box-type boom optimization: variables of a boom configuration

Each segment is described by five variables: Thickness of the bottom, side (same for both sides) and top plates as well as the number of stiffeners on the bottom and side plates. Furthermore, there are two global variables, the type of stiffeners on the bottom plates and on the side plates. One setting of these variables makes up a boom configuration (see Fig. 2). Formally, with n being the number of segments, we define \(x_{i,j}, \, y_{i,k}, \, z_k\) with \(i \in \{1,\ldots n\}, \, j \in \{\mathrm {b,s,t}\}, \, k \in \{\mathrm {b,s}\}\) as follows:

  • \(x_{i,j}\) – plate thickness of segment i on the bottom (\(j=b\)), side (\(j=s\)) or top (\(j=t\))

  • \(y_{i,k}\) – number of stiffeners of segment i on the bottom (\(k=b\)) or side (\(k=s\))

  • \(z_k\) – type of stiffeners on the bottom (\(k=b\)) or side (\(k=s\))

The objective of the optimization is to find a boom configuration with minimal material and welding costs while satisfying a set of constraints (see below). The material costs include the material of the plates and the stiffeners. The welding costs result from welding the stiffeners to the plates as well as welding the plates to form the boom. For the latter part, the plates of the segments, which are of length 3 meters or less (for the last segment), can be combined to larger plates of up to 10 meters. Thus, the welding costs are approximated by using the length of the weld seam and the thicknesses of the combined plates. For \(\mathbf {x} = (x_{1,b}, x_{1,s}, x_{1,b}, x_{2,b}, x_{2,s}, x_{2,b}, \ldots , x_{n,b}, x_{n,s}, x_{n,t})\), \(\mathbf {y} = (y_{1,b}, y_{1,s}, y_{2,b}, y_{2,s}, \ldots , y_{n,b}, y_{n,s})\) and \(\mathbf {z} = (z_b, z_s)\), the objective function is defined as

$$\begin{aligned} \begin{aligned} f(\mathbf {x}, \mathbf {y}, \mathbf {z}) = \sum _{i=1}^n&\left( \sum _{j \in \{\mathrm {b,s,t}\}} mc _{ plate }(x_{i,j}) + \, \sum _{k \in \{\mathrm {b,s}\}} y_{i,k} \; mc _{ stiffener }(z_k) \right. \\&\quad \left. + \, \sum _{k \in \{\mathrm {b,s}\}} y_{i,k} \; wc _{ stiffener }(z_k) \right) + \; wc_{boom}(\mathbf {x}), \end{aligned} \end{aligned}$$
(1)

with

figure a

In order to design a functioning crane, the boom configuration has to be chosen such that certain statics constraints as well as constraints on the plate thicknesses, and number and type of stiffeners are fulfilled. These constraints are formally defined within the optimization problem below:

\(\underset{{x_{i,j}, y_{i,k}, z_k}}{\text {minimize }} \; f(\mathbf {x}, \mathbf {y}, \mathbf {z})\)

subject to

figure b

\(\text {for all } i \in \{1, \ldots n\}, j \in \{\mathrm {b,s,t}\}, k \in \{\mathrm {b,s}\}\)

The objective function, defined in Eq. (1), shall be minimized subject to a set of constraints. The constraints in Eqs. (2) to (4) state that the utility constraints with respect to stress (denoted by \(\sigma \)) and fatigue (\(\phi \)) on the bottom, side and top as well as with respect to buckling (\(\beta \)) on the bottom and side are fulfilled for each segment. A value larger than 1 is a violation, and the larger the value, the higher the violation. A structural analysis tool is used to calculate these utilizations for a given boom configuration for predefined load-cases and constraints-margins according to the customers’ needs. In Eqs. (5) to (7) the allowed thicknesses for the plates on the bottom, side and top, respectively, are defined as a subset of the natural numbers. For instance, for the bottom, the thicknesses could be defined as a set of 5 values \(\{\rho _0, \rho _1, \rho _2, \rho _3, \rho _4\}\). Equation (8) states that these thicknesses are non-increasing from the pivot- to the head-part. The number of stiffeners is limited by the constraints in Eqs. (9) and (10) to lie between 0 and 3 (bottom), and 0 and 2 (side), and is non-increasing from the pivot- to the head-part (Eq. (11)). Finally, the four allowed types of stiffeners (U-shaped with different dimensions) are stated in Eq. (12). For the remainder of the paper, all constraints are considered hard constraints.

Surrogate Modeling for the Box-Type Boom

Solving optimization problems with runtime expensive solution evaluations usually results in total execution times that are too high for practical applications. Considering the example of a 9-segment boom, one boom configuration consists of \(5 \cdot 9 + 2 = 47\) variables. Assuming five possible thicknesses for each bottom, side and top (\(\mathbf {x}\)), there are \(5 \cdot 3 \cdot 9\) possibilities of assigning these thicknesses (disregarding any other constraints). Furthermore, there are \(4 \cdot 9 = 36\) possibilities for stiffener arrangements on the bottom and \(3 \cdot 9 = 27\) on the side (\(\mathbf {y}\)), and \(2 \cdot 4 = 8\) choices of stiffener types (\(\mathbf {z}\)) (again disregarding any other constraints). Thus, there are in total more than a million solution candidates. Evaluating only 10,000 of these candidates with the structural analysis tool at hand (with a runtime of 5 min each) would already take about a month.

Surrogate modeling (Wang and Shan 2007; Forrester and Keane 2009) can be used to make common optimization techniques feasible, by replacing expensive calculations (such as the structural analysis for the BTB) with simpler models. Typically, machine learning (Bishop 2006) techniques, such as linear regression, support vector regression, neural networks, Gaussian processes and symbolic regression, are used to learn surrogate models. These methods use data of previously performed expensive evaluations to learn a model that predicts the value of unseen evaluations.

For the box-type boom, the input variables variables of the models are the thicknesses (\(\mathbf {x}\)), and the number and type of stiffeners (\(\mathbf {y}\) and \(\mathbf {z}\), respectively). The output variables are the statics constraints (eight per segment): Degree of utilization of stress (bottom, side, top), fatigue (bottom, side, top) and buckling (bottom, side). Continuing the 9-segment boom example, there are \(8 \cdot 9 = 72\) statics constraints. The surrogate models will be trained based on those input and output to predict the statics constraints of boom configurations that are not yet evaluated.

Before the surrogate models are trained, the sampled data is analyzed to gain insights in the correlations between the input and output variables (Section “Data Analysis”). Based on this analysis, appropriate subsets of the input variables are suggested, and ways of reducing the number of models which have to be trained are investigated (Section “Variable Selection and Data Preprocessing”). Finally, the modeling procedure is described (Section “Modeling Procedure”).

The data analysis and modeling was done in the open-source framework HeuristicLab (HeuristicLab 2017; Wagner et al. 2014), which provides a large set of popular heuristic and evolutionary optimization algorithms and also provides powerful tools and algorithms for data analysis and data-based modeling. The data on which the presented results are based on include a set of approx. 5000 samples, which were created with HeuristicLab’s distributed computation environment.

Data Analysis

We first investigated whether there are measurable correlations between the sampled inputs and outputs to better understand the relations between the variables of the BTB problem and to assess which variables are important for the modeling. Because the inputs are fixed integers, we used Spearman’s rank (Lehmnn et al. 2005) as correlation measure, as opposed to the popular Pearson \(\mathrm {R}\).

Figure 3 shows the correlations between the inputs and outputs of segments 3 and 4, along which we first investigate the correlations within a single segment. Green color indicates a positive correlation, red a negative one and white no correlation. The highest correlation can be observed between bottom fatigue \(\phi _{i,b}\) and bottom thicknesses \(x_{i,b}\) as well as top fatigue \(\phi _{i,t}\) and top thickness \(x_{i,t}\) within the same segment (correlation coefficients of approx. \(-0.95\)). This reflects the fact that thicker plates are less likely to result in a violation of the fatigue utilization. Interestingly, side fatigue \(\phi _{i,s}\) and side thickness \(x_{i,s}\) correlate much less (about \(-0.25\)). Similar observation can be made for stress (\(\sigma \)) and thicknesses, however, to a smaller degree (correlations up to \(-0.67\)). While buckling (\(\beta \)) also correlates with the thicknesses, the more interesting observation is the correlation with the number of stiffeners (y). The latter is in accordance with the fact that the stiffeners are mostly used to avoid buckling. The stiffener types \(\mathbf {z}\) only correlate to a small degree with the outputs.

Fig. 3
figure 3

Correlation matrix of the inputs (columns) and outputs (rows) for segments 3 and 4

Fig. 4
figure 4

Correlation matrix between the inputs (columns) and the outputs (rows) of the BTB. The order of the inputs and outputs per segment is the same as in Fig. 3

Another aspect that can be observed in Fig. 3 is that the outputs of a segment generally correlate to the inputs of that same segment, but also to the inputs of the next segment to a smaller degree, e.g. the stress of segment 3 correlates with the thicknesses of segment 4 (up to \(-0.65\)). The inputs of the previous segment, however, have only very small correlation coefficients to the current segment (up to \(-0.18\)). Those aspects can be observed globally over all segments, as shown by the correlation matrix in Fig. 4. The reddish block diagonal shows the high correlations between inputs and outputs of the same segments. The lighter reddish blocks just right to the main diagonal are the correlations between the next and current segments. These observations help in selecting (and thus minimizing) the relevant variables for training surrogate models, as discussed in more detail in the following section.

Lastly, we observed that the outputs are highly correlating with each other (data not shown in the paper), e.g. buckling bottom correlates with stress bottom. This offers the opportunity that surrogate models are trained not only based on the “regular inputs” (thicknesses and stiffeners), but also based on other statics constraints. For example modeling the stress with fatigue as additionally allowed input.

Variable Selection and Data Preprocessing

We first discuss the selection of an appropriate set of input variables to train the surrogate model. Generally, the more selected inputs, the higher the probability that all relevant information is available to generate a model that approximates the structural analysis well (i.e. has a high accuracy). However, including too many variables makes the training of the model more difficult and the chance is higher that certain variables are redundant or irrelevant (i.e. carry no or very little additional information). Thus, selecting a small set of relevant variables is an important task.

Grouping the thickness and stiffener variables per segment i, we define \(\mathbf {x}_i = (x_{i,b}, x_{i,s}, x_{i,t})\) and \(\mathbf {y}_i = (y_{i,b}, y_{i,s})\). Similarly, for the statics utilization constraints, we define for stress \(\varvec{\sigma }_i = (\sigma _{i,b},\sigma _{i,s},\sigma _{i,t})\), fatigue \(\varvec{\phi }_i = (\phi _{i,b},\phi _{i,s},\phi _{i,t})\) and buckling \(\varvec{\beta }_i = (\beta _{i,b},\beta _{i,s})\). These inputs and outputs are listed in Table 1, where each row correspond to one sample that was evaluated with the structural analysis tool.

Table 1 Inputs and outputs for data analysis and surrogate modeling grouped by segments

Based on the results of Section “Data Analysis”, we define which input variables are selected for training the 8n models (one per output variable per segment). Besides the option of using all inputs to model an output of a specific segment, the analysis of the correlation matrix of the inputs and outputs reveals that especially the variables of the current segment i as well as the next segment \(i+1\) are good candidates to be used as inputs. Thus, we have the following options for selecting the input variables:

  • variables from all segments plus the global variables: \(5 n + 2\) selected inputs, e.g. for a 9-segment boom 47 selected inputs

  • variables of the current segment i plus the global variables: \(5 + 2 = 7\) selected inputs

  • variables of the current segment i and the next segment \(i+1\) plus the global variables: \(2 \cdot 5 + 2 = 12\) selected inputs (Note that for the last segment there are only \(5 + 2 = 7\) inputs, because there is no next segment)

Due to the structure of the BTB-problem, not only the inputs can be reduced, but also the number of models that need to be trained. In the elaborations above, 8n models were used (for each segment i, one model for each statics constraint). One option to reduce the number of models would be to create only one model that predicts the overall violation of the statics constraints, e.g. in form of the sum of all values larger than one. However, such a model would be difficult to train and to interpret because information is lost due to the aggregation. Instead, we opted for creating a single model per statics constraint that can predict the output for all segments, i.e. one model for fatigue bottom instead of one fatigue bottom model per segment. Thus, only 8 models need to be trained. To still be able to capture potential differences among the segments, the segment number is used as an additional input variable.

To facilitate training one model per output, the data is restructured to yield the structure shown in Table 2. In essence, the data is aligned per segment so that each new row contains outputs of a single segment. By splitting the data this way, a single evaluation of a boom with n segments yields n data rows of \(5+2\) inputs and 8 outputs. Optionally, the inputs of adjacent segments can be included (potentially \(5n+2\) inputs). Including the input of the next segment (as shown in Table 2), we obtain \(n-1\) data rows of \(2 \cdot 5 + 2\) input variables (for all segments except the last one) and one data row of \(5 + 2\) input variables (for the last segment).

Table 2 A single sample (corresponding to one row in Table 1) is aligned into multiple data rows

This segment-based data-splitting has two advantages: First, we only need to create a total of 8 models, one for each statics utilization, instead of 8n models. Second, we obtain more training data from a single evaluation. Thus, splitting the data by segments should speed up and simplify the modeling process.

However, when the inputs of the next segment are included, the last segment must be handled differently, because there is no next segment. We use a “dummy next segment”, where the thicknesses, number of stiffeners and stiffener types are set to zero.

Modeling Procedure

The selection of the modeling procedure is a central task, influenced by several factors. In order to be able to discuss surrogate models with domain experts and to potentially gain valuable insights in the connection between the input and output variables, we use white-box models in the form of mathematical expressions describing the relations between these variables. Obtaining such expressions also enables simplifying (e.g. by deleting expressions with no/low impact) and fine-tuning (e.g. optimizing the numeric constants computationally (Kommenda et al. 2013)) in a post-processing step. One simple white-box model is linear regression, which is, however, too restricted because we expect non-linear relations. Thus, Symbolic Regression (SR) was chosen as an extension of linear regression. We generate SR models using genetic programming (Koza 1992), and ALPS (Hornby 2006) and OSGA (Affenzeller and Wagner 2005) in combination with constant optimization (Kommenda et al. 2013). In online surrogate-assisted optimization (Forrester and Keane 2009; Wang and Shan 2007), (computationally cheap) black-box modeling techniques (e.g. random forests) can be used instead.

To group the models of each constraint, we introduce the notation \(\varvec{\sigma }= (\sigma _b, \sigma _s, \sigma _t)\), where \(\sigma _b, \sigma _s\) and \(\sigma _t\) denote the utilization with regard to stress on the bottom, side and top, respectively. Similarly, \(\varvec{\phi }= (\phi _b, \phi _s, \phi _t)\) and \(\varvec{\beta }= (\beta _b, \beta _s)\) are defined.

Initially, we trained models for the 8 constraints \(\varvec{\sigma }\), \(\varvec{\phi }\) and \(\varvec{\beta }\) using the segment-based data-splitting approach with the segment number, the current and next segment as well as the global variables as input (cf. Section “Variable Selection and Data Preprocessing” and Table 2). We then extended the set of input variables to also allow other statics constraints as inputs, as suggested in the latter part of the data analysis in Section “Data Analysis”. Interestingly, only fatigue could be modeled well without other statics constraints as input variables; the accuracy of the models for stress and buckling was significantly lower without the extended set of input variables. Thus, we allowed the fatigue as extended input for modeling the stress. For modeling buckling we allowed fatigue and stress. Thus, we obtain the following models

$$\begin{aligned} \widehat{\varvec{\phi }}&= f(i, \mathbf {x}_i, \mathbf {y}_i, \mathbf {x}_{i+1}, \mathbf {y}_{i+1}, \mathbf {z}) , \end{aligned}$$
(13)
$$\begin{aligned} \widehat{\varvec{\sigma }}&= f(i, \mathbf {x}_i, \mathbf {y}_i, \mathbf {x}_{i+1}, \mathbf {y}_{i+1}, \mathbf {z}, \varvec{\phi }) \,\text {and} \end{aligned}$$
(14)
$$\begin{aligned} \widehat{\varvec{\beta }}&= f(i,\mathbf {x}_i, \mathbf {y}_i, \mathbf {x}_{i+1}, \mathbf {y}_{i+1}, \mathbf {z}, \varvec{\phi }, \varvec{\sigma })\, \text {,} \end{aligned}$$
(15)

where \(\widehat{\varvec{\phi }}, \widehat{\varvec{\sigma }}\) and \(\widehat{\varvec{\beta }}\) are the estimated values of \(\varvec{\sigma }\), \(\varvec{\phi }\) and \(\varvec{\beta }\), respectively, \(i, \mathbf {x}_i, \mathbf {y}_i, \mathbf {x}_{i+1},\) \(\mathbf {y}_{i+1}, \mathbf {z}\) the regular inputs and \(\varvec{\phi }, \varvec{\sigma }\) the statics constraints as extended inputs.

After modeling, the statics constraints that are used as extended inputs – which are not present when estimating a novel boom configuration – must be estimated using the other models. This implies that circular dependencies among the models are not allowed. To distinguish between the models above (where the statics constraints are used from the training dataset) and the model where the statics constraints are estimated, we introduce the model variants

$$\begin{aligned} \widehat{\varvec{\sigma }}^*&= f \left( i, \mathbf {x}_i, \mathbf {y}_i, \mathbf {x}_{i+1}, \mathbf {y}_{i+1}, \mathbf {z}, \widehat{\varvec{\phi }} \right) \, \text { and } \end{aligned}$$
(16)
$$\begin{aligned} \widehat{\varvec{\beta }}^*&= f \left( i, \mathbf {x}_i, \mathbf {y}_i, \mathbf {x}_{i+1}, \mathbf {y}_{i+1}, \mathbf {z}, \widehat{\varvec{\phi }}, \widehat{\varvec{\sigma }}^* \right) \, , \end{aligned}$$
(17)

where the estimated values of the statics constraints are used instead. In those models, the model errors accumulate, meaning that the overall model accuracy will be lower than in the models using the original values from the dataset.

As an additional step for models that use extended inputs, we incorporate the models of these extended inputs into the outer model. In other words, for a model \(\hat{a}\) that use other statics constraints b as extended input variables, we incorporated the models \(\hat{b}\) directly into the model \(\hat{a}\) by replacing each occurrence of these variable b by its model \(\hat{b}\). For example, the stress model \(\widehat{\varvec{\sigma }}^*\) actually includes the whole expression of the fatigue model \(\widehat{\varvec{\phi }}\). This makes the handling of models simpler (the models are independent of each other), and enables fine-tuning (simplifying and constant optimization) of the whole model. After fine-tuning this larger model, the accuracy can be higher than when simply executing the models sequentially and passing the results to the dependent models. In the following results (Section “Results), the models marked with \(^*\) are the combined ones with fine-tuning applied.

Results

In this section, we present and discuss the modeling results for the 8 utilization constraints: bottom/side/top stress (\(\varvec{\sigma }\)), bottom/side/top fatigue (\(\varvec{\phi }\)) and bottom/side buckling (\(\varvec{\beta }\)). First, we present an overview of all models and discuss the accuracy of the models and the impact of the input variables. Second, we discuss a single model (fatigue bottom) in detail, to show how the model can be used to gain insight into the general behavior of the BTB.

Models Overview

In this section, an overview of the results of all models is presented. Table 3 contains the models’ length in terms of number of nodes and the model’s accuracy in terms of the Pearson’s \(\mathrm {R}^2\) and mean absolute error. All models fit the data well, with the models for fatigue and stress generally having a very high accuracy, and models for buckling having a lower though still high accuracy. The high accuracies for all models indicate that, even though the underlying calculations of the statics analysis tool are complex, these constraints can indeed be approximated well with simple models.

Table 3 Accuracy of the model in terms of Pearson \(\mathrm {R}^2\) and Mean Absolute Error (MAE)

Table 4 contains the variable impacts for all models. The impact of a variable describes how much the accuracy of a model (i.e. the Pearson \(\mathrm {R}^2\)) would decrease if this variable is not available (similar to node-impacts in Affenzeller et al. (2014)). To simulate the lack of a variable, the values of that variable are shuffled to break their relation to the target variable. A positive impact means that the quality of the model would decrease without the variable and vice versa for negative values. For example, a variable impact of 0.8 means that the model’s accuracy would be reduced by 0.8 (in terms of \(\mathrm {R}^2\)), indicating that this variable is quite important.

Table 4 Variable impacts of the inputs on the models. No entry means that the variable was not used in the model. Crossed out variables were not available as an input

For all models, the segment number i has a very high impact, indicating that the constraints behave differently per segment. For final models with dependent models already incorporated (marked with \(^*\)), the thicknesses always have a high impact, which is not surprising considering that thicker plates should result in more robust booms. The stiffener types are hardly used by any model, indicating that it is not important which type is used. The number of stiffeners of the next segment is not used by any model, thus it is not included in the table.

Interestingly, the models for fatigue only use the thicknesses of the current segment plus the segment number and still yield the highest accuracy. This indicates that the fatigue is influenced very directly and only by the thicknesses of the plates.

The models for the stress use the thicknesses of the current and the next segment, i.e. the stress constraints could be more likely to be violated if the subsequent segment is very heavy due to the subsequent plates’ thickness. Another interesting aspect is that the models for stress that are still using fatigue as input (\(\widehat{\varvec{\sigma }}\)) do not use the thicknesses of the current segment, instead they depend heavily on the fatigue.

The buckling models are the only models that use the number of stiffeners, which supports our current understanding of the BTB that the stiffeners are only required to counter buckling. Interestingly, buckling bottom and side also depend on the stress bottom in both cases. Summarizing, buckling is mainly dependent on the thickness bottom/top and the number of stiffeners; and indirectly dependent on the thicknesses of the next segment via the stress.

Modeling Fatigue Bottom

We demonstrate how the models can be used to learn interesting aspects about the BTB, using the following simplified model of fatigue bottom:

$$\begin{aligned} \widehat{\phi }_{b}&= \frac{ \mathbf {c}(i) + \exp \left( -0.094288 x_{i,t} \right) 1.9923 - 1.1311 }{ 1.5519 x_{i,b} + 0.79312 x_{i,s} + 2.0162 } + 0.017964 \end{aligned}$$
(18)
$$\begin{aligned} \mathbf {c} = (7.7098, 7.7719, 7.8131, 7.8282, 7.7843, 7.6066, 7.1214, 5.8482, 2.6857) \end{aligned}$$

The main impacts in the model for fatigue bottom in Eq. (18) are the terms covering the segment-dependent vector \(\mathbf {c}(i)\) and the bottom thickness \(1.5519 x_{i,b}\). These high impacts are also in line with the impact factors in Table 4.

Instead of using the segment number i directly as an integer, a vector \(\mathbf {c}\) is used where each entry corresponds to one segment. The values for segments 1 to 7 are significantly higher, which indicates that those segments are more likely to violate the constraint (assuming the other variables are fixed). The thickness bottom and side are both in the denominator, meaning that they are inverse proportional to the fatigue. The thickness top is included in the model within the term \(\exp ({-x})\), also meaning that it is decreasing with higher values. Both facts combined imply that higher thicknesses reduce the likelihood that the fatigue constraint is violated. The models for fatigue side and top (not discussed in detail here) behave similarly.

The models for the other constraints are not discussed here in detail. All models can be found online at http://dev.heuristiclab.com/AdditionalMaterial.

Summary and Discussion of the Results

The results show that the structural analysis of the BTB has large potential for applying surrogate modeling. This suggests that, after further investigation and discussion with domain experts, the expensive simulations – which are currently used to determine the utilization of stress, fatigue and buckling – could be replaced by much faster models. Additionally, valuable information can be obtained by analyzing the models in more detail, as demonstrated with the simplified model for fatigue bottom.

As a next step, to solve the BTB optimization problem, the created models could be used in optimization approaches that potentially require a large number of solution evaluations because the mathematical expressions of the surrogate models can be evaluated within microseconds. When accounting for the overall runtime to solve the BTB problem, however, the efforts spent to sample the data and learn the surrogate model must also be accounted for. Currently, the most calculation intensive part is creating the samples for training the model, which can take several days up to a few weeks, depending on the computational resources. Modeling (including data preprocessing and model postprocessing) can be done within a few days.

One drawback of the presented models is that they might not be generally applicable for all customer requirements, because the sampled data were based on one boom with a fixed length and a fixed set of load-cases. For other settings, sampling and modeling would have to be redone. However, the general behavior of the models (e.g. in terms of thicker plates being inverse proportional to violations in the utilizations) are expected to be similar. In that case, potentially less samples are required and the existing models are just adapted, i.e. their numeric constants recalculated to fit the new data.

Conclusion

The paper presents the industrial use case of a box-type boom crane as potential benchmark for comparing optimization approaches. The BTB optimization problem is easy to understand and relatively simple to specify, with the exception of the structural analysis. For the goal of providing this use case to other researchers, future attempts include providing the implementation of the problem using the learned surrogate models as well as developing a simplified open-source version of the structural analysis tool.

As the second contribution of the paper, surrogate modeling for the runtime expensive structural analysis is presented, with the intention of replacing this expensive evaluation in optimization algorithms with the simpler surrogate model. Due to the structure of the BTB problem, in particular due to the segment-based partitioning, several strategies for surrogate modeling are possible, ranging from only selecting certain input variables (e.g. only variables of the current segment) to splitting the data based on the segments for reducing the number of outputs. Generally, the models capture the statics constraints very well in terms of their accuracy, suggesting that the expensive structural analysis tool can indeed be substituted by much simpler and faster models. Future directions with regard to surrogate modeling are to train more complex surrogate models that consider different load-cases and other characteristics of a boom as input data in order to be able to generalize the model for several booms.

The main avenue of continuing this work is to apply and compare different optimization methods, such as heuristic approaches, single solution-based algorithms as well as population-based optimization approaches, on the BTB problem. The goal is to investigate which optimization approaches are most promising for this kind of industrial use case.