Optimization Settings
  • Optimization

Optimization Settings

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.

Optimization Settings

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.

General Settings

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.

Simulation Method

The Simulation method tab displays the solver currently in active.

Name Description
Active solver Display the solver that is currently active.

Setup

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.

Computing Resources

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.

Parameters

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.

Optimize Result Data

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.

Run Optimization

To run an optimization, you need to right-click the added optimization and click Run.

View Results

After the optimization process is completed, right-click the finished optimization and click the Data visualizer to view the optimized results.

Case: Bragg Grating

Bragg Grating