Configuring the Non-Dominated Sorting Genetic Algorithm (NSGA-II) Technique

You can configure the Non-Dominated Sorting Genetic Algorithm (NSGA-II) technique options.

  1. Select the optimization technique as described in Configuring the Technique and Execution Options.

  2. In the Optimization Technique Options area, enter or select the following:

    Option Description
    Population Size (multiple of 4) This parameter controls the number of solutions generated at each iteration (generation). The initial population is generated randomly (or assigned from an external source) and is controlled by this parameter. The minimum allowed value is 4. There is no restriction on the maximum allowed value for this parameter.
    Number of Generations This parameter controls the number of iterations (evolutionary steps) that the algorithm will execute before termination. This value must be a positive integer greater than one. The total number of function evaluations exhausted by the algorithm equals the product of the population size and the number of generations.
    Crossover Probability This parameter controls the probability with which parent solutions are recombined to generate the offspring solutions. The parameter range is between 0.5 and 1.0. In general, high probability of crossover (0.9–1.0) is recommended.
    Crossover Distribution Index The numeric value of this control parameter is inversely proportional to the amount of perturbation in the design variables. The smaller the value of this control parameter, the larger the perturbation and vice versa. A smaller value, thus, improves the resilience to premature convergence at the cost of highly focused search. Typically, the default value of 10.0 is sufficient. If the obtained solution is far from the desired optimum, the parameter may be reduced to a value as small as 0.5. If a good solution is obtained but the solution lacks accuracy, a value as large as 100.0 may be used.
    Mutation Distribution Index The numeric value of this control parameter is inversely proportional to the amount of perturbation in the design variables. The smaller the value of this control parameter, the larger the perturbation and vice versa. A smaller value, thus, improves the resilience to premature convergence at the cost of highly focused search. Typically, the default value of 20.0 is sufficient. If the obtained solution is far from the desired optimum, the parameter may be reduced to a value as small as 0.5. If a good solution is obtained but the solution lacks accuracy, a value as large as 100.0 may be used.
    Initialization Mode The initialization mode can be used to specify how the initial (starting) population (set of solutions) is generated. The NSGA-II incorporates three methods for generating the initial population. It can be generated randomly, seeded from a starting solution, or read from a user-specified file:
    • Random causes the algorithm to generate the initial population randomly. This method is based on Latin-Hypercube sampling coupled with unbiased Knuth Shuffling. It generates almost uniform distribution of points inside the search space. By default, Random is the selected behavior.
    • Starting Solution causes the algorithm to generate a point cloud around the starting point. The density reduces exponentially as it moves away from the point. The probability density drops to zero at the variable boundaries. The starting solution is always present as the first member of the population.
    • If Starting Population is selected, you must specify an input file from which to read the initial population. The Pareto file output by the algorithm can be used as the input file for a subsequent simulation. A file that contains all the design variables can also be given as the input file. The column headers identify the variables. All the design points read by the algorithm are evaluated. The initialization file must contain at least one solution. If the number of solutions in the initialization files is less than the population size, the remaining solutions are generated randomly. If the number of solutions in the initialization file is more than the population size, extra solutions at the end of the file are discarded (not read).
    Initialization Filename

    This parameter is used only when the initialization mode is Starting Population. The file name specified is read during the initialization process. The location of the file is validated and checked only during run time. The requirements for the initialization file are as follows:

    • The first line must contain parameter names, separated by a space or tab; the remaining lines must contain data values.
    • Each line must have the same number of values as the number of parameter names in the header line. Only the input values are used from the initialization file; it is not necessary to include output values. All design points read from the initialization file will be sent for evaluation by the Optimization component, as if they were randomly generated points.
    • Only the required number of data points will be used from the initialization file. This number equals the size of the population configured in the technique options for your component.
    • If your data file contains more designs than necessary, make sure that the needed data points are located at the beginning of the file. If the number of solutions in the initialization file is more than the population size, extra solutions at the end of the file are discarded (not read).
    • The rest of the design points are generated randomly if the data file does not contain enough data points to fill the initial population.

    This file can be configured only using the component editor in the Isight Design Gateway. For more information, see Configuring the Non-Dominated Sorting Genetic Algorithm (NSGA-II) Technique in the Isight Component Guide.

    Maximum Failed Runs This parameter is used to set the maximum number of failed subflow evaluations that can be tolerated by the optimization technique. If the number of failed runs exceeds this value, the optimization component will terminate execution. To disable this feature, set this option to any negative value (e.g., –1). When this option is set to a negative value, the optimization will continue execution despite any number of failed subflow runs.
    Failed Run Penalty Value This parameter represents the value of the Penalty parameter that is used for all failed subflow runs. The default value is 1.0E30.
    Failed Run Objective Value This parameter represents the value of the Objective parameter that is used for all failed subflow runs. The default value is 1.0E30.
    Use fixed random seed If this option is selected, the random number generator used by the optimization algorithm is seeded using the value specified in the Random seed value text box. All executions of the Optimization component will use exactly the same sequence of random numbers and, therefore, will produce exactly the same design points. This arrangement is useful for debugging the optimization process when it is necessary to reproduce the same sequence of design points.

    If this option is not selected, the random number generator is seeded by using the clock time at the moment of execution.

  3. Click Update Component to save your changes.