Configuring the Archive-Based Micro Genetic Algorithm (AMGA) Technique

You can configure the Archive-Based Micro Genetic Algorithm (AMGA) 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
    Initial Size (multiple of 4) This parameter controls the number of solutions generated initially. It specifies the size of the starting population. In general, the larger the size of the starting population, the better the coverage of the search space. The initial population is generated randomly (or assigned from an external source) and is controlled by this parameter. The default value is 40. Other possible values are 4.
    Population Size (multiple of 4) This parameter controls the size of the parent population created at each iteration. Unlike other evolutionary algorithms, this population is created based on the search history of the algorithm. The population size must be less than or equal to the initial size. The number of new solutions created at each iteration is half of the population size. It is recommended that you not change the default setting for this parameter. A small overall value is recommended. The default value is 40. Other possible values are 4.
    Number of Function Evaluations This parameter controls the number of function evaluations (number of subflow evaluations) allowed for the optimization. The actual number of function evaluations used by the algorithm need not be the same as this parameter setting. However, it will be either less than or equal to the parameter setting. The default value is 500.
    Archive Size Limit This parameter controls the amount of search history information held by the algorithm (the larger the archive size, the better the simulation results). However, the complexity of the algorithm varies as 2N log(N), where 2N is the archive size. Therefore, increasing the archive size increases the execution time for identical numbers of function evaluations. It is recommended that you not change the value of this parameter. The archive size must be less than or equal to the number of function evaluations and greater than or equal to the size of the initial population. The default value is 500.
    Pareto Size Limit This parameter defines the upper limit on the number of solutions desired at the end of the simulation run. The actual number of solutions reported need not be equal to the Pareto Size Limit (it will depend on the problem and the number of solutions that were found by the algorithm). You can safely increase the Pareto Size Limit to the Archive Size Limit without any loss in solution quality or increase in computation time. The default value is 100.
    Crossover Probability This parameter controls the probability with which parent solutions are recombined to generate the offspring solutions. You must set this parameter between 0.5 and 1.0. In general, a high probability of crossover (0.9–1.0) is recommended. The default value is 0.9.
    Mutation Probability This parameter controls the probability with which an offspring solution is mutated. The mutation has the effect of slightly perturbing the offspring solution. The recommended value for this parameter is 1/n where n is the number of design variables. By default, the algorithm uses the 1/n value when the Use optimal mutation probability option (described below) is selected. This parameter is provided for cases where a high mutation rate is deliberately desired.
    Optimal mutation probability This parameter controls whether or not the optimal mutation probability is used. By default, this option is selected. It is recommended that you leave this option selected. If this option is selected, any custom value specified in the Mutation Probability option is ignored.
    Crossover Distribution Index The numeric value of this parameter is (in general) inversely proportional to the amount of perturbation in the design variables (the smaller the value of the parameter, the larger the perturbation, and vice versa). Therefore, a smaller value improves the resilience to premature convergence at the cost of a highly focused search. The default value is typically 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 can be used. The default value is 10.0.

    A “good” solution implies that the solution lies in the globally optimal basin and is close to the Pareto-optimal frontier. If having solutions very close to the Pareto-optimal frontier is desired and it is difficult to achieve such accuracy, the Crossover Distribution Index and Mutation Distribution Index settings can be increased. These settings are inversely proportional to the amount of perturbation (change) in the design variables. Increasing the indices reduces the change and, thus, may help you locate more accurate solutions.

    Mutation Distribution Index In general, the numeric value of this parameter is inversely proportional to the amount of perturbation in the design variables (the smaller the value of the parameter, the larger the perturbation, and vice versa). Therefore, a smaller value improves the resilience to premature convergence at the cost of a highly focused search. Typically, the default value is sufficient. If the obtained solution is far from the desired optimum, the parameter can 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 can be used. The default value is 20.0.

    Note: This setting is used in conjunction with the Crossover Distribution Index setting to increase the accuracy of your solutions.

    Initialization Mode The Initialization Mode is used to specify how the initial (starting) population (set of solutions) is generated. AMGA 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 an almost uniform distribution of points inside of the search space. By default, Random is the recommended value.
    • Starting Solution causes the algorithm to generate a point cloud around the starting point. This cloud’s density reduces exponentially as you move 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 set to the Starting Population option. The specified file name is read during the initialization process. The location of the file is validated and checked only during run time. The requirements of the initialization file are:

    • 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 are 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 desired 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 Archive-Based Micro Genetic Algorithm (AMGA) Technique in the Isight Component Guide.

    Diversity Option AMGA uses two diversity preservation operators with varying computational complexity and solution quality. The two operators are Crowding and ENNS (Efficient Nearest Neighbor Search). ENNS is computationally more expensive and provides better solution quality. The Crowding distance computation is quicker, but the solution quality is poor when more than two objectives are present. You can use the Crowding option if the number of objectives is two. If the number of objectives is more than two, you can use the ENNS option. The default value is Crowding.
    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×1030.
    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×1030.
    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.