1 Introduction
2 Data-driven Design Optimization
2.1 The Workflow of Data-driven Design Optimization
2.1.1 Problem Formulation
2.1.2 Design of Experiments
2.1.3 Output Evaluations
2.1.4 Construction of Surrogate Models
2.1.5 Model Selection and Validation
2.1.6 Infill
2.1.7 Prediction, Analysis, and Optimization
2.2 Extended Adaptive Hybrid Function
2.2.1 Part 1: Selection of Individual Surrogates
2.2.2 Part 2: Calculation of the Adaptive Weights
2.2.2.1 Step 1: Local estimation
2.2.2.2 Step 2: Probability estimation
2.2.2.3 Step 3: Determination of the adaptive weight
3 Software Description
3.1 Software Architecture
3.1.1 End User Layer
3.1.2 Application Layer
3.1.3 Service Layer
3.1.4 Support Layer
3.2 Software Interface
3.2.1 Project Management
3.2.2 Main Workplace
4 Examples
4.1 Numerical Example
-
Step 1: Start. Drag the start block from the left pane Algorithm blocks and drop it on the canvas. The start block indicates the beginning of the project and there is only one start block in a project.
-
Step 2: DoE. In this step, the OLHS sampling plan is chosen to generate the samples. Drag the OLHS block from the DoE module and drop it on the canvas. In the parameter configuration pane of the block, four parameters need to be configured and two of them are set by default. Hence, users just need to configure the other two parameters, that is, number of variables and number of samples. When users enter 2 in the box under number of variables, sub-boxes containing the interval, precision, and name of variable are shown up just under number of variables box, as shown in Figure 13. Users need to fill these boxes accordingly. Then, users link the OLHS block to the start block and click the deploy and run button sequentially to generate the samples of inputs. Next, click the corresponding name of the OLHS block in the results pane to view and download the data of samples of inputs.
-
Step 3: Output evaluations. In this step, users need to upload the samples of inputs and the corresponding output values to DADOS via Y_DOE block. Specifically, calculate the output values to samples of inputs using Eq. (9) and fill them in the Excel file that is downloaded from Step 2. Then, drag the Y_DOE block from the left pane, drop it on the canvas, and link the Y_DOE block to the OLHS block. In the configuration pane, as shown in Figure 14, click the cloud icon to upload the Excel file and fill in the name of responses in the Remarks box.
-
Step 4: Construction of surrogate models. In this step, a surrogate model is constructed using the E-AHF method. Drag the E-AHF block from the left pane, drop it on the canvas, and link the E-AHF block to the Y_DOE block. As shown in Figure 15, in the configuration pane, five individual surrogates are selected by default to form the ensemble surrogate. Click the deploy and run button sequentially to run the workflow. Note that when the question mark of each block turns to a green tick, it denotes that the workflow has been run successfully. There is something wrong if not all the blocks have a green tick and users can read the running log to debug the workflow.
-
Step 5: Model validation. This step checks the accuracy of the surrogate model built in the previous step. Drag the LOOCV block and drop it on the canvas. There are three metrics available to choose in the configuration pane: \({R}^{2}\), RMSE and MAE. All three metrics are chosen by default. Then, link the LOOCV block to the E-AHF block and, click the deploy and run button. But before deploying and running the workflow, it would be better to turn the lock button on in the configuration pane of the E-AHF block. The lock button of a block being on indicates that all the previous blocks and this block are locked and will not run again to waste computational resources. Because all the information related to the modeling process will transfer to the next block by the link, there is no need to run the previous blocks again and only the current block is required to be implemented. After the LOOCV block was implemented, users can check the accuracy of the E-AHF model in results pane, and the results are listed in Table 1. As mentioned in Refs. [48] and [9], \({R}^{2}\)> 0.8 indicates a surrogate with good predictive accuracy. The surrogate model is more accurate if \({R}^{2}\) is closer to 1. Therefore, we set \({R}^{2}\)> 0.8 as a threshold to determine that a surrogate model is satisfied. For RMSE and MAE, it is difficult or even impossible to find the threshold to judge whether a surrogate model is satisfied, because the values of the RMSE and MAE depend on the problems. For different problems, the range of RMSE and MAE varies with the responses. However, with RMSE and MAE, we can determine which surrogate is better than others.
-
Step 6: Optimization. In this step, a Genetic Algorithm (GA) was employed to optimize the E-AHF model. Drag the GA block from the left pane, drop it on the canvas, and link it to the LOOCV block. As shown in Figure 16, in the configuration pane, users need to specify the objective and constraints. To edit the objective function, users need to click the edit button next to the objective box to open the formula editor. In the popped formula editor, users can choose to conduct minimization or maximization by clicking the drop-down menu, as shown in Figure 17. Moreover, users can edit the objective function using the variable names listed in the editor. For this numerical example, minimization is selected and the objective function is y1, which denotes minimizing the response of the E-AHF model. The other parameters of GA are set to default. Next, click the deploy and run button sequentially to run the workflow. After the GA block was implemented, users can see the optimization results in results pane and view the iteration step plot by right clicking the GA block and clicking the plot button in the popped dialog. The optimization results and the iteration step plot are shown in Table 2 and Figure 18, from which it can be observed that the optimized results are in very good agreement with the global minimum.
-
Step 7: Sensitivity analysis. In this step, a Sobol method was employed to conduct sensitivity analysis. Drag the SOBOL block from the left pane, drop it on the canvas, and link it to the LOOCV block. In the parameter configuration pane, as shown in Figure 19, setting the number of samples to 10000. Next, click the deploy and run button sequentially to run the workflow. The first-order index and total order index are shown in Figure 20, denoted by S1 and ST, respectively. It can be observed from Figure 20 that the interaction between \({x}_{1}\) and \({x}_{2}\) has a great impact on the output of the McCormick function.
Metrics | Prediction accuracy |
---|---|
\({R}^{2}\) | 0.99 |
RMSE | 0.14 |
MAE | 0.25 |
Variables | Global minimum | Optimum |
---|---|---|
\({x}_{1}\) | − 0.547 | − 0.578 |
\({x}_{2}\) | − 1.547 | − 1.578 |
\(y\) | − 1.913 | − 1.912 |
4.2 Engineering Case
-
Step 1: Start. Drag the start block from the left pane Algorithm blocks and drop it on the canvas.
-
Step 2: DoE. In this step, the OLHS sampling plan is chosen to generate the samples. Drag the OLHS block from the DoE component, drop it on the canvas, and link it to the start block. In the parameter configuration pane of the OLHS block, set the number of design variables and samples to 8 and 175, respectively. The domain of the 8 design variables is set according to Eq. (10). Then, click the deploy and run button sequentially to generate the samples of inputs.
-
Step 3: Output evaluations. In this step, users need to upload the samples of inputs and the corresponding output values to DADOS via Y_DOE block. Conducting simulations according to the samples of inputs generated in the previous step to obtain the corresponding mass and maximum stress when the maximum radial force is applied at \({0}^{^\circ }\) and \({45}^{^\circ }\), respectively. Drag the Y_DOE block from the left pane, drop it on the canvas, and link it to the OLHS block. Repeat this process three times to have three Y_DOE blocks on the canvas. Upload the data of mass, maximum stress to these three Y_DOE blocks, respectively. Then, click the deploy and run button sequentially to run the workflow.
-
Step 4: Construction of surrogate models. In this step, one E-AHF and two RBF models are constructed to approximate the relationship between the design variables and the mass, maximum stress when the maximum radial force at \({0}^{^\circ }\) and \({45}^{^\circ }\), respectively. Drag an RBF block, an E-AHF block, and another RBF block from left pane, drop them on the canvas, and link them to the three Y_DOE blocks respectively. For parameter configurations, the multiquadratic function was chosen as the basis function for the two RBF models, and the parameters of the E-AHF model are set to default. Then, click the deploy and run button sequentially to run the workflow.
-
Step 5: Model validation. In this step, the 10-fold CV was employed to evaluate the accuracy of the three surrogate models and the results are shown in Table 3.
-
Step 6: Optimization. In this step, a GA method was employed to optimize the weight of the hoisting sheave with stress as constraints. Drag a GA block from the left pane, drop it on the canvas, and link the three surrogate blocks to it. In the parameter configuration pane of the GA block, click the edit button next to the objective box, then type y1, which represents the mass of the sheave, in the popped formula editor and choose min from the drop-down menu. Next, specify two inequality constraints and type y2-51 and y3-51 in the formula editor. Then, click the deploy and run button sequentially to run the workflow. By running the simulation according to the optimized structural parameters, the weight and maximum stresses of the optimized sheave are obtained and listed in Table 4. Compared to the initial sheave weight of 4844.78 kg, the optimized weight is 4599.60 kg, which is a reduction of 5.06%.
Surrogate models | \({R}^{2}\) | RMSE | MAE |
---|---|---|---|
The RBF model for f | 0.99 | 16.36 | 12.30 |
The E-AHF model for \({g}_{1}\) | 0.90 | 2.30 | 1.72 |
The RBF model for \({g}_{2}\) | 0.92 | 3.75 | 2.54 |
Design variables | Objective | Constraints | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
\({x}_{1}\) | \({x}_{2}\) | \({x}_{3}\) | \({x}_{4}\) | \({x}_{5}\) | \({x}_{6}\) | \({x}_{7}\) | \({x}_{8}\) | f | \({g}_{1}\) | \({g}_{2}\) |
2200 | 551 | 378 | 199 | 2275 | 366 | 289 | 263 | 4599.60 | 50.24 | 50.58 |