Specify time- and frequency-domain requirements, tune
controller parameters such as PID gains

Response Optimization Tool | Optimize model response to satisfy design requirements, test model robustness |

Check Against Reference | Check that model signal tracks reference signal during simulation |

Check Custom Bounds | Check that signal satisfies upper and lower bounds during simulation |

Check Step Response Characteristics | Check that model signal satisfies step response bounds during simulation |

`sdo.SimulationTest` |
Simulation scenario description |

`sdo.requirements.SignalBound` |
Piecewise-linear amplitude bound |

`sdo.requirements.SignalTracking` |
Reference signal to track |

`sdo.requirements.StepResponseEnvelope` |
Step response bound on signal |

`sdo.requirements.PhasePlaneEllipse` |
Impose elliptic bound on phase plane trajectory of two signals |

`sdo.requirements.PhasePlaneRegion` |
Impose region bound on phase plane trajectory of two signals |

`sdo.requirements.FunctionMatching` |
Impose function matching constraint on variable |

`sdo.requirements.MonotonicVariable` |
Impose monotonic constraint on variable |

`sdo.requirements.RelationalConstraint` |
Impose relational constraint on pair of variables |

`sdo.requirements.SmoothnessConstraint` |
Impose bounds on gradient magnitude of variable |

`sdo.requirements.BodeMagnitude` |
Bode magnitude bound |

`sdo.requirements.ClosedLoopPeakGain` |
Closed loop peak gain bound |

`sdo.requirements.GainPhaseMargin` |
Gain and phase margin bounds |

`sdo.requirements.OpenLoopGainPhase` |
Nichols response bound |

`sdo.requirements.PZDampingRatio` |
Damping ratio bound |

`sdo.requirements.PZNaturalFrequency` |
Natural frequency bound |

`sdo.requirements.PZSettlingTime` |
Settling time bound |

`sdo.requirements.SingularValue` |
Singular value bound |

`sdo.optimize` |
Design optimization problem solution |

`sdo.OptimizeOptions` |
Optimization options |

`sdo.getParameterFromModel` |
Design variable for optimization |

`sdo.setValueInModel` |
Set design variable value in model |

`sdo.getValueFromModel` |
Get design variable value from model |

`sdo.getModelDependencies` |
List of model file and path dependencies |

`sdoupdate` |
Update model containing Signal Constraint block |

`getbounds` |
Get bounds specified in Check block |

`sdo.setCheckBlockEnabled` |
Enable or disable all check blocks in model |

**How the Optimization Algorithm Formulates Minimization Problems**

When you optimize parameters of a Simulink^{®} model to meet
design requirements, Simulink Design Optimization™ software automatically converts the requirements into a constrained optimization problem and then solves the problem using optimization techniques.

**Design Optimization to Meet Step Response Requirements (GUI)**

Optimize controller parameters using the Response Optimization tool.

**Design Optimization to Track Reference Signal (GUI)**

Optimize parameters without adding Signal Constraint blocks to the model.

**Design Optimization to Meet Frequency-Domain Requirements (GUI)**

This example shows how to tune model parameters to meet frequency-domain requirements using the Response Optimization tool.

**Design Optimization to Meet Frequency-Domain Requirements (Code)**

This example shows how to tune model parameters to meet frequency-domain requirements, using the `sdo.optimize`

command.

**Design Optimization Using Frequency-Domain Check Blocks (GUI)**

Optimize model parameters to meet frequency-domain design requirements using the Response Optimization tool.

**Design Optimization to Meet Time- and Frequency-Domain Requirements (GUI)**

This example shows how to tune a controller to satisfy time- and frequency-domain design requirements using the Response Optimization tool.

**Design Optimization to Meet Step Response Requirements (Code)**

Optimize controller parameters at the command line.

Write a cost function for parameter estimation, response optimization, or sensitivity analysis. The cost function evaluates your design requirements using design variable values.

Time- and frequency-domain requirements.

**Specify Time-Domain Design Requirements in the Tool**

Specify time-domain requirements such as lower and upper amplitude bounds, step response bounds, reference signals, and custom bounds.

**Specify Frequency-Domain Design Requirements in the Tool**

Specify frequency-domain requirements such as gain and phase margin bounds, closed-loop peak response bounds, step-response bounds, and custom bounds.

**Skip Model Simulation Based on Parameter Constraint Violation (GUI)**

This example shows how to optimize a design and specify parameter-only constraints that prevent the model from being evaluated in an invalid solution space.

**Speed Up Response Optimization Using Parallel Computing**

Scenarios when you can speed up optimization using parallel computing, and how the speedup happens.

**Use Parallel Computing for Response Optimization**

Use parallel computing for response optimization in the tool, or at the command line.

**Use Fast Restart Mode During Response Optimization**

This topic shows how to speed up response optimization using Simulink fast restart.

**Use Accelerator Mode During Simulations**

Simulink Design Optimization software supports `Normal`

and `Accelerator`

simulation modes.

This topic shows how to specify design variables for optimization.

This topic shows how to specify signals to log.

This example shows how to create a linearization input/output set in the Response Optimization tool or Sensitivity Analysis tool.

**Compare Requirements and Design Variables Using Spider Plot**

This example shows how to use a spider plot to compare requirement evaluations before and after optimizing the response.

**Generate MATLAB Code for Design Optimization Problems (GUI)**

This example shows how to automatically generate a MATLAB function to solve a Design Optimization problem.

**Optimization Does Not Make Progress**

What to do if the optimization stalls or no changes are seen in parameters values.

What to do if the optimization does not satisfy design requirements or takes a long time to converge near a solution, or if the system response becomes unstable.

**Optimization Speed and Parallel Computing**

What to do if no speedup is seen with parallel computing, if the results are different, or if the optimization stalls.

What to do if optimization gives undesirable parameter values or violates bounds on values.

**Reverting to Initial Parameter Values**

How to quit optimizing and revert to original values.

Was this topic helpful?