# Documentation

## Optimizing Parameters for Robustness

### What Is Robustness?

A design is robust when it's response does not violate design requirements under model parameter variations. Your model may contain parameters whose values are not precisely known. Such parameters vary over a given range of values and are defined as uncertain parameters. You may know the nominal value and the range of values in which these uncertain parameters vary.

You can use Simulink® Design Optimization™ software to incorporate the parameter uncertainty to test the robustness of your design. When you optimize parameters for robustness, the optimization solver uses the responses computed using all the uncertain parameter values to adjust the design variable values.

You can specify the same parameter both as a design and uncertain variable. However, you cannot use a parameter both as a design and uncertain variable in the same optimization run. Also, you cannot add uncertainty to controller or plant parameters during optimization-based control design in the SISO Design Tool.

The uncertain variables can be scalar, vector, matrix or an expression.

You can test and optimize parameters for model robustness in the following ways:

• Before Optimization. Specify the parameter uncertainty before you optimize the parameters to meet the design requirements. In this case, the optimization method optimizes the signals based on both nominal parameter values as well as the uncertain values. This mode requires more computational time.

• After Optimization. Specify the parameter uncertainty after you have optimized the model parameters to meet design requirements. You can then test the effect of the uncertain parameters by plotting the model's response. If the response violates the design requirements, you can optimize the parameters again by including the parameter uncertainty during the optimization.

### Sampling Methods for Uncertain Parameters

Sample values for uncertain parameters are a vector of numerical values. You can specify the vector yourself or generate a vector of random numbers using the software. The sample values you specify can be uniformly distributed or random. For example, four sample values for two uncertain parameters a and b in the range `[0 3]` and `[1 2.5]` may look like the following figure.

There are two methods to determine the number of sample values to use during optimization:

• Only the combination of minimum and maximum values (circled)

• Combination of the entire set of values (all solid dots in the previous figure)

 Tip   Using only the minimum and maximum values during optimization increases the computation speed when compared to using the entire set of values.

For the previous example, there are 4 combinations using the minimum and maximum values and 16 combinations if you use all sample values.

In the Response Optimization tool, you specify the sampling method using the options as shown in the following figure.

### Optimize Parameters for Robustness (GUI)

This example shows how to optimize parameters for model robustness.

1. Load a saved Response Optimization tool session.

```load sldo_model1_desreq_optim_sdosession; sdotool(SDOSessionData);```

The `sdotool` command opens the following Simulink model and a saved Response Optimization tool session.

The parameters of this model, `Kp`, `Ki` and `Kd`, have already been optimized to meet the following step response requirements:

• Maximum overshoot of 5%

• Maximum rise time of 10 seconds

• Maximum settling time of 30 seconds

2. Specify parameter uncertainty.

1. In the Uncertain Variables Set drop-down list, select New.

A window opens where you specify uncertain variables.

2. Click `w0` and `zeta` to select them.

3. Click to add the selected parameters to an uncertain variables set.

The software displays the following parameter settings:

• Variable — Parameter name

• Nominal Value — Nominal value of the parameters as specified in the Simulink model

• Uncertain Values — Values that the uncertain parameter can take. By default, the maximum and minimum values vary by 10% of the nominal value.

The total number of sample values to use during optimization is a combination of the maximum and minimum values of the uncertain parameters.

The check-box indicates that the parameter is included in the uncertain variable set. The default uncertain variable set name is `UncVars`.

Click OK. A new variable `UncVars` appears in Data area of the Response Optimization tool.

3. Test the model robustness to the uncertain parameters.

1. Click Plot Current Response.

The step response plot, displaying the requirements, updates.

• The solid curve corresponds to the model response computed using the optimized parameters and nominal values of the uncertain parameter.

• The four dashed curves correspond to the model response with the minimum and maximum values of the uncertain parameters.

The dashed plot lines show that the response during the period of 10 to 20 seconds violates the design requirements.

4. Optimize the parameters for model robustness. Click Optimize.

The Optimization Progress window opens which displays the optimization iterations.

After the optimization completes, the message ```Optimization converged``` indicates that the final model response computed by varying the uncertain parameters meets the specified design requirements.

5. Examine the responses.

 Tip   To view only the final responses of the model, right-click the white area in the plot and uncheck Responses > Show Iteration Responses.

The final responses appear as the thick solid and dashed curves. The nominal and uncertain responses with parameter variations now meet the design requirements.