In many engineering design problems the design parameters may only be known to some tolerance or in some cases they may be described by a probability distribution. Moreover, designing a product for a specific environmental scenario does not guarantee good performance for other environments: there is a risk associated with the chosen design; another design may have a lower risk.
Traditional optimization techniques tend to "over-optimize", producing solutions that perform well at the design point but have poor off-design characteristics. In such a way, it becomes very critical to ensure the design requirements to the product itself.
Thus the designer has to take into account the robustness of the solution, which is defined as the characteristic of the system response to be insensitive to the variation of the input parameters working effectively in a range of circumstances and not being adversely affected by small changes in related objects. Accordingly, it is possible that the best solution is not the same of the best stable solution.
To demonstrate MORDO capabilities within modeFRONTIERTM environment, a simple mathematical function has been tested. This consists of a weighted sum of three gaussian functions, and its expression is the following:
where
and
This function has to be maximized, but (as it's shown in Figure 5.70, "The Mathematic Test Function") it can be noticed that there are two different local maxima.
The first one (point A) is higher in absolute value, but among its nearby points the function hardly drops. On the other hand, the second local maxima (point B) has a lower value but it's more stable when moving throughout the function domain.
Unlike the deterministic optimization problem, in robust design optimization one has to consider the probabilistic functional of the objective functions. The generalized treatment of such problems is to use probabilistic or stochastic models instead of the deterministic model inside the optimization loop. The deterministic model is replaced by an iterative stochastic model in an uncertainty space. The uncertainty space is usually represented in terms of moments like "mean" and "standard deviation" of the output variables.
In almost all robust optimization problems, evaluating uncertain functions is computationally very intensive. The accuracy of the estimates for the "mean" and the "standard deviation" is particularly important. However, this accuracy is dependent on the number of the sample and, obviously, the number required for a given accuracy depends on several factors such us the type of uncertainty and the number of variables.
Using modeFRONTIERTM's MORDO "Multi Objective Robust Design Optimization" approach, it's possible to look for the best robust design. For these reasons, MORDO evaluates two different values:
The average value of the function inside the variables distribution.
The standard deviation that should be minimized or at least keep under control (i.e. constrained).
Thus, it is possible that the best solution (when we compute the function only in the mean value of the variables distribution) is not the same of the best average solution (average inside the variables distribution).
To implement a case study of Robust Design Optimization for the function of Figure 5.70, "The Mathematic Test Function", using modeFRONTIERTM, load the testcase project testRobust.prj.
The path of the project file is:
.../modeFRONTIER30x/projects/testcase/robust/testRobust.prj
Open it by clicking on the Open Project icon
,
or selecting from the menu.
The Work Flow desktop should look like Figure 5.71, "testRobust.prj Work Flow".
This project concerns the mono-objective optimization of the previous mathematical function.
Once we move to the Design Space tab we enter into the post-processing environment.
On the left we find a new tool bar where there are all post-processing tools for result assessment .
Click on the Design Table icon
to show the complete
result database. Since the optimization has finished we can mark the design belonging to the Pareto Frontier selecting
the action from the Edit menu.
Note:
In the case of a mono-objective optimization we have only one Pareto Design while in multi-objective optimization we have a set of designs that are not dominated.
To see the evolution of the objective click on the
or choose the History Chart in the menu, select
the Objective MAX_OBJ and click .
The History Chart should look like in Figure 5.72, "History Chart of the Objective".
As it can be noticed from the plot of Figure 5.72, "History Chart of the Objective", MOSATM algorithm
shows a convergence towards two different places of the function domain, going to the two previously defined point A and B.
However, at the end the optimization algorithm decides for the A solution, because the optimization
problem is a pure maximization problem and the A point has a slightly higher fitness value than
B point, as it can be shown in Figure 5.73, "Scatter 3D Chart of the test function".
In fact, to get a three-dimensional view of the mathematical function and its local maxima,
the Scatter 3D Chart can be used. Following this way, click on the
or choose the History Chart in the menu, select
the Objective MAX_OBJ and click . The History Chart should look like in
Figure 5.73, "Scatter 3D Chart of the test function".
At this point, we have to modify the project in order to make it able to run MORDO algorithm. First of all, remove all designs from the Design Table. Then, the first step is to create stochastic Input Variables from the existing ones. Open the x variable Property window, and select Normal into the Distribution box, then write 0.1 in the Standard Deviation box (see Figure 5.74, "Input Variables Normal Distribution"). This means we have imposed on the x variable a normal distribution with a standard deviation of 0.1, that is for each Input Variable value, modeFRONTIERTM will create N (with N value user defined) sample designs according to a normal distribution (centered in that point) and with the desired perturbation (equal to 0.1) nearby the point.
Note:
Once we define a distribution law for a Input Variable, this is highlighted with the
icon
.
Once set the distribution for the x variable, do the same with the y variable, until you get to a Work Flow like in Figure 5.75, "Input Variables Normal Distribution".
Note:
As soon as we set up the stochastic Input Variables, the Output Variable becomes
aleatory as well. In fact, this is remarked with the icon
.
At this point, if we're looking for a stable solution, we have to maximize the function mean value
with a low standard deviation value. For this purpose, the MAX_OBJ node has to be removed,
while a new Design Objective node is required. Click on
icon and put it
into the canvas. In the Objective Properties, select the o1:MEAN variable in the
User Expression box (see Figure 5.76, "Design Objective: Maximization of the MEAN value of the function").
In order to control the perturbation nearby each design point, it's mandatory to add a constraint in the Standard Deviation.
Click on
icon and put it
into the canvas. In the Constraint Properties, select the o1:STDEV variable in the
User Expression box (see Figure 5.77, "Constraint in the Standard Deviation of the function").
To start the Analysis cycle, press the button at the top right of the main window
,
the system will ask us to save the project before the run is started.
Furthermore, we have to select MORDO PreferencesTM panel and specify the
number of Samples for each design (in this case 50) as shown in Figure 5.78, "MORDO Preferences".
If you cannot run the optimization, you can load the project for the post-processing from
.../modeFRONTIER30x/projects/testcase/robust/testMORDO.prj
Now we can monitor optimization results both while it is running and when it has finished.
Enter the Design Space by clicking on the corresponding tab,
or selecting from the menu. On the left vertical tool bar
click on the Design Table icon
:
in this way you access the Design Table window (see Figure 5.79, "The Design Table").
In the Design Table we can recognize two different keywords for design numbering. More precisely, we have:
design ID
design RID
In fact, since we're dealing with a Robust Design Optimization, for each design RID there are fifty different
design samples ID, according to the settings defined in Project Creation.
Accordingly, if we click on
icon,
we'll get the Figure 5.80, "The Robust Design Table".
As we can see from Figure 5.80, "The Robust Design Table", there are some unfeasible designs that at the same time are feasible in Design Table. In fact, the constraint is imposed in the o1 function Standard Deviation, when evaluating the stochastic individuals, so that the solution feasibility can be recognized in the Robust Design Table only.
To understand better the differences between classic design optimization and
MORDO approach, it's helpful to plot the
Scatter Charts of the Input Variables in the DOE Sequence (six RID designs created with a Sobol algorithm).
To see the scatter plot on DOE Table of x versus y click on the icon
and select x and y among Input Variables.
Then select Doe Table in the Scatter Chart Creation panel,
and the chart should look like in Figure 5.81, "x vs y Scatter Chart on Doe Table".
To see how MORDO distributes points around the initial nominal values,
select, in the Design Table, the x and y columns and all the designs with RID number less than six.
Then right mouse click and select
Create Scatter Chart for the pop-up menu.
The chart should look like in Figure 5.82, "x vs y Scatter Chart on Design Table".
To see the scatter plot on Robust Design Table for the DOE sequence, select the x and y columns and the first six designs
in the Robust Design Table. Then right click and select
Create Scatter Chart for the pop-up menu.
The chart should look like in Figure 5.83, "x vs y Scatter Chart on Robust Design Table".
The points represented with a triangle are unfeasible points
since they do not respect the constraint defined upon the standard deviation.
To see the evolution of the Design Objective MAX_MEAN,
click on the history chart icon
in the tool bar on the left or choose the History Chart in the
menu, select the Objective MAX_MEAN in the Robust Design Table,
then click , (see Figure 5.84, "History Chart on Robust Design Table of the function Mean").
To see the scatter plot of MAX_MEAN versus CONSTR_STDEV click on the icon
and select the Objective MAX_MEAN and Constraint CONSTR_STDEV
in the Robust Design Table, then click , (see Figure 5.85, "Scatter Chart on Robust Design Table of the function Mean and Standard Deviation").
To get a three-dimensional view of the mathematical function and its local maxima,
the Scatter 3D Chart can be used. Following this way, click on the
or choose the Scatter 3D Chart in the menu,
select the Output variable o1, both the Input Variables and click .
The Scatter 3D Chart should look like in Figure 5.86, "Scatter 3D Chart on Robust Design Table of the function o1":
A scatter plot on the two input variables shows where the optimization algorithm is looking for good solutions.
The Figure 5.86, "Scatter 3D Chart on Robust Design Table of the function o1" and Figure 5.87, "Scatter Chart on Robust Design Table of x versus y" highlight the MORDO optimization algorithm convergence toward the place of the lower local maximum point (point B), which is a feasible solution from the point of the view of the Standard Deviation constraint, so that it can be considered the best robust design.