This section describes the settings related to optimization.
Optimization constantly adjusts the combination of one or more parameter values to run large-scale simulations, which allows users to obtain optimal solutions (locally optimal) of the objective functions or simulation results, and ultimately to complete the global optimization of the model. This feature utilizes the Particle Swarm Optimization (PSO) algorithm by default and allows users to define custom PSO coefficients to improve optimization performance. Even when multiple parameters that have an impact on the results need to be optimized simultaneously, this algorithm can quickly converge to optimum values.
To add an optimization, you can switch from the Objects tree to the Optimizations and sweeps right-click a blank area on the page, and select the Create new optimization option. After addition, right-click on the added optimization and select Edit to enter the editing interface, where specific settings can be configured as follows:
Users are allowed to set optimization properties according to specific purposes to ensure proper execution of the parameter optimization.
The General tab allows users to define the name for an optimization. Note multiple sweep or optimization items with the same name are forbidden under a single project.
Name | Description |
---|---|
Name | Define the name for an optimization. |
The Simulation method tab displays the solver currently in active.
Name | Description |
---|---|
Active solver | Display the solver that is currently active. |
The Setup tab is used to set independent variable parameters in the optimization.
Name | Description |
---|---|
Algorithm | Set the algorithm used for optimization, which defaults to the Particle swarm Optimization (PSO) and also supports user-defined PSO for option. |
Maximum generations | The maximum number of iterations that need to be performed. |
Type | Select whether to minimize or maximize the optimization results. |
Generation size | The number of particles used in each generation, that is, the number of simulation projects. The maximum number of simulations is calculated as the product of the maximum number of generations and the number of simulations per generation. |
Apply optimization results to current project | Select whether to set the optimized target parameters in the current project as the final optimization results. |
Reset random generator | Select whether to reset the random generator with a fixed seed. |
For more information about the Particle Swarm Optimization, see Optimization Algorithm.
The Resources tab is used to configure computing resources, and allows users to select the best computing resources for optimization.
Name | Description |
---|---|
Maximum simulation threads of parallel | The maximum number of threads for parallel execution, which is used to set the number of simulation projects that can run simultaneously. |
First generation script | The calculation script used in the first generation, which defines the initial parameter values for simulation. If random initial values are required, there is no need to import this script. |
Next generation script | The script used to calculate the parameter values for the next generation based on the results of previous generations. |
Use figure of merit script | Check this option to enable this feature. This script allows for post-processing the result data derived from simulations, and takes the processed results as the final objects to be optimized. The parameters to be imported into this script are located at Setup>Figure of merit>Result. The script requires the calculation of a variable named “fom” for optimization purposes, and this variable must be a single scalar value. |
The Parameters tab allows users to set the attributes associated with optimization parameters.
Name | Description |
---|---|
Parameters | Select all objective parameters for this optimization. Optimizable model parameters are contained in the drop-down list. You can select multiple parameters at the same time. |
Type | The type of parameter to be optimized, e.g., length, time. |
Min | The minimum value of the target range. |
Max | The maximum value of the target range. |
Units | Set a unit for any parameter type with a unit. |
Add | Add a parameter. |
Remove | Remove a parameter. |
The Figure of merit tab allows users to select the desired result data.
Name | Description |
---|---|
Optimize | Select whether to optimize the result, that is, to maximize or minimize its value. |
Name | Set a name for the result, which will be used for data visualization. |
Result | The result data to be optimized; the selected result must be a single scalar value. |
Scalar operation | This option enables numerical calculation on the selected result, such as calculating the real part, imaginary part, or absolute value. |
Vector operation | This option enables post-processing on the selected result data, such as summing and averaging. |
Add | Add a result. |
Remove | Remove a result. |
To run an optimization, you need to right-click the added optimization and click Run.
After the optimization process is completed, right-click the finished optimization and click the Data visualizer to view the optimized results.