Robustness Evaluation of a Damped Oscillator

This tutorial allows you to complete a robustness evaluation of a single degree-of-freedom system excited with initial kinetic energy.

You will complete a robustness evaluation at the deterministic optimum.

Mass m, damping ratio D, stiffness k and initial kinetic energy Ekin are taken as normally distributed random variables.

Task Description

This tutorial demonstrates how to do the following:

  • Define the random input variables

  • Complete a robustness analysis with respect to damped eigen frequency and maximum amplitude

    • Check the coefficient of variation of the objective and constraints

    • Check if the safety constraint is outside of the 4.5σ level

    • Check the importance of input variables

    • Check explainability by using the Metamodel of Optimal Prognosis (MOP) and Coefficients of Prognosis (CoP)

  • Iterate the constraints manually until the criteria are fulfilled

  • Set up an optimization workflow with robustness constraints for a coupled robustness design optimization

  • Complete a robustness evaluation for each optimization design

Prerequisites

You must complete the Optimization of a Damped Oscillator tutorial before starting this one.

Results of the Deterministic Optimization

The best design of the Adaptive Metamodel of Optimal Prognosis (AMOP) optimization is used as the reference for the robustness analysis.

Tutorial Steps

Opening the Damped Oscillator Optimization Project

  1. Start optiSLang.

  2. From the Start screen, click Open.

  3. Browse to the location of the damped oscillator optimization project you created in the previous tutorial and click Open.

Completing the Robustness Wizard

  1. Drag the Robustness wizard onto the AMOP system and let it drop.

  2. In rows 3 and 4 (D and Ekin), clear the Constant check box.

  3. In row 1 (m), double-click the Parameter type cell and select Opt. + Stoch. from the drop-down list.

  4. Repeat step 3 for row 2 (k).

  5. In row 3 (D) double-click the Parameter type cell and select Stochastic from the drop-down list.

  6. Repeat step 5 for row 4 (Ekin).

  7. Double-click the CoV cell for each row and change the values to the following:

    • Row 1 (m): 2%

    • Row 2 (k): 5%

    • Row 3 (D): 10%

    • Row 4 (Ekin): 10%

  8. Click Next.

  9. Do not adjust or add to the currently displayed values for parameters, responses, and criteria.

  10. Click Next.

  11. Do not adjust the current robustness/reliability method settings.

  12. Click Next.

  13. Do not adjust the current algorithm settings.

  14. Do not adjust the additional options settings.

  15. Click Finish.

    The Robustness system is added to the Scenery pane.

    The best design of the optimization is automatically sent as nominal design to the Robustness system and is used as mean values.

    Check the connection by double-clicking the arrow.

Running the Project and Viewing the Robustness Evaluation Results

  1. To save the project, click  .

  2. To run the project, click  .

    The results of the robustness evaluation are displayed. You can observe:

    • Both responses show almost linear behavior

    • omega_damped can be explained very well by m and k

    • x_max is mainly influenced by D, k and Ekin and has a lower CoP as in the design space due to locally more dominant solver noise

Editing limits

  1. In the Monitoring pane, select File > Reload as > Statistics.

  2. Select Edit > Edit limits.

  3. Double-click the Upper cell under Failure Limit for omega_damped and enter 8.5 .

  4. Click OK.

Viewing the Objective Function Results

  1. Under Common settings, select x_max as the first variable.

  2. In the Show settings for list, select Histogram.

  3. In the Fitted PDF list, select NORMAL.

  4. Review the resulting graph.

    Histogram and fitted PDF agree well.

  5. Under the histogram, expand Show Statistical data.

  6. Review the statistical data. You can observe:

    • Mean is not close to deterministic value

    • CoV is larger as maximum input variation (10%)

    • Optimum is not robust in terms of the objective function

Viewing the Constraint Equation Results

  1. Under Common settings, select omega_damped as the first variable.

  2. In the Show settings for list, select Histogram.

  3. In the Fitted PDF list, select NORMAL.

  4. Review the resulting graph.

    Histogram and fitted PDF agree well.

  5. In the histogram settings, select the Show as CDF check box.

  6. Review the resulting graph.

    Empirical and fitted normal CDF agree well. Estimation of the failure probability by assuming a normal distribution seems reasonable.

  7. Under the fitted CDF graph, expand Show Statistical data.

  8. Review the statistical data. You can observe:

    • Safety margin is only 2.38σ, which corresponds to a 1% failure probability

    • Optimum is not robust in terms of the constraint condition

Completing Iterative Robust Design Optimization

To perform iterative robust design optimization:

  • Modify the design by reducing the mean of omega_damped by an additional deterministic optimization

  • Consider all previous optimization designs for the new optimization

  • Check the robustness again

The deterministic constraint for the second optimization step, assuming a constant standard deviation:

  • Mean value + 4.5 * standard deviation ≤ 8.5 rad/s

  • Mean omega_damped ≤ 7.6

  1. On the Scenery pane, click the AMOP system.

  2. While pressing the Ctrl key, click all of the systems and nodes connected to the AMOP system.

    • Postprocessing (1)

    • Robustness

    • Postprocessing (2)

    • MOP (1)

  3. Right-click a selected system and select Copy from the context menu.

  4. Right-click a blank area of the Scenery pane and select Paste from the context menu.

  5. Right-click the AMOP (1) system and select Rename from the context menu.

  6. Change the name to AMOP_Step2 and press Enter.

  7. Right-click the Robustness (1) system and select Rename from the context menu.

  8. Change the name to Robustness_Step2 and press Enter.

  9. Right-click the MOP (1)(1) system and select Rename from the context menu.

  10. Change the name to MOP_Step2 and press Enter.

  11. Right-click the AMOP system and select Hide contents from the context menu.

  12. Repeat step 11 for the AMOP_Step2, Robustness, and Robustness_Step2 systems.

  13. Select Edit > Connect Nodes.

  14. Click the Sending node field and select AMOP from the list.

  15. Click the Receiving node field and select AMOP_Step2 from the list.

  16. Click and drag ODesigns from the Sending node output slots list to IStartDesigns in the Receiving node input slots list and drop it on top.

  17. Click OK.

  18. Double-click the AMOP_Step2 system.

  19. Switch to the Criteria tab.

  20. Change the omega_damped limit to 7.6.

  21. Click OK.

  22. To save the project, click  .

  23. To run the project, click  .

    The optimizer increases the mass. The best design of the second AMOP optimization is considered automatically as nominal design of the robustness analysis

    The safety margin of omega_damped is now 4.7σ, which corresponds to a failure probability of about 1.2x10-6, if the response would be perfectly normally distributed.

This manual iteration has found a robust optimum within two iterations.

Optimization (Global ARSM)Robustness (100 ALHS)
Constraint m k ω Xmax Mean ω Sigma ω Sigma Level
ω ≤ 80.7950.07.960.267.990.212.4
ω ≤ 7.60.8750.07.560.27 7.55 0.20 4.7

Completing Nested Robust Design Optimization

Finally, we want to find a robust optimum which minimizes x_max and which fulfills the requirement on omega_damped, for example , by a fully automatic procedure using an optimization with nested robustness evaluation.

  1. On the Scenery pane, right-click the Robustness_Step2 system and select Copy from the context menu.

  2. Right-click a blank area of the Scenery pane and select Paste from the context menu.

  3. Right-click the Robustness_Step2 (1) system and select Rename from the context menu.

  4. Change the name to Robustness_Nested and press Enter.

  5. In the Systems list, expand the Algorithms and Optimization folders.

  6. Drag an ARSM system to the Scenery pane and let it drop.

  7. Right-click the ARSM system and select Rename from the context menu.

  8. Change the name to ARSM_Nested and press Enter.

  9. Click the Robustness_Nested system.

  10. While pressing the Shift key, drag the Robustness_Nested system into the ARSM system.

  11. Under Analysis, drag a Data Mining node into the ARSM system and let it drop.

  12. Clear the Receive design from parent system check box.

  13. Click OK.

  14. Select Edit > Connect Nodes.

  15. Click the Sending node field and select ARSM_Nested from the list.

  16. Click the Receiving node field and select Robustness_Nested from the list.

  17. Select the Send nominal design check box.

  18. Click OK.

  19. Select Edit > Connect Nodes.

  20. Click the Sending node field and select Robustness_Nested from the list.

  21. Click the Receiving node field and select Data Mining from the list.

  22. Click and drag ODesigns from the Sending node output slots list to New slot in the Receiving node input slots list and drop it on top.

  23. Click OK.

  24. Double-click the Data Mining node.

  25. Double-click new filter.

  26. Type omega_damped and press Enter.

  27. Drag ODesigns from the Input slots list and drop it on top of new function.

  28. Double-click new function.

  29. Expand Show extraction functions.

  30. Select the last Get in the list and change the two fields to response and omega_damped.

  31. Click OK.

  32. From the Use as response list, select Use as internal variable.

  33. Repeat steps 26-33 for x_max.

  34. Switch to the Variables tab.

  35. Click Add variable three times.

  36. Update the ID fields and Expression fields as follows:

    IDExpression
    mean_omegamean(omega_damped)
    mean_x_maxmean(x_max)
    stddev_omegastddev(omega_damped)

    The Type and Value fields update automatically when the expression is entered.

  37. Drag the three variables created in the previous step into the Responses pane.

  38. Click OK.

  39. Double-click the ARSM_Nested system.

  40. Switch to the Criteria tab.

  41. Drag mean_x_max to the Objective Minimize icon.

  42. Drag mean_omega to the Constraint Less icon.

  43. Change the mean_omega Expression field to mean_omega+4.5*stddev_omega.

  44. Change the mean_omega Limit field to 8.5.

  45. Click OK.

  46. Double-click the Robustness_Nested node

  47. Switch to the Dynamic sampling tab.

  48. In the Number of samples field, enter 20.

  49. Click OK.

Running the Project and Viewing Nested Robust Design Optimization Postprocessing

  1. To save the project, click  .

  2. To run the project, click  .

    ARSM found an optimum that fulfills the robustness criteria. A total of 63x20 = 1260 solver calls were required.

  3. To view the postprocessing of the best design, right-click the Robustness_Nested node and select Show working directory from the context menu.

  4. Browse to the design directory and open the corresponding postprocessing file.

    The safety margin of the best design is 4.8σ. However, since the number of robustness samples was small in the coupled analysis, a validation of the estimated safety margin by a more elaborate robustness evaluation is necessary.