Multi - Objective Genetic Algorithm (MOGA)

An extension of Genetic Algorithm that solves multi-objective optimization (MOO) problems.

In MOO problems, there is more than one objective function to be minimized or maximized and as such the goal is not to find an optimum but to find the Pareto front instead. Pareto front is a collection of non-dominated designs. Non-dominated designs are better than other designs because at least one of the objective functions are considered.

Usability Characteristics

  • In MOO methods, the challenge is to find a homege Multi - Objective Genetic Algorithm that uses a crowding distance evaluation to help create a good distribution of the points on the Pareto front.
  • Multi - Objective Genetic Algorithm terminates if one of the conditions below are met:
    • The convergence criteria is satisfied. This occurs when the minimum number of allowable iterations (Minimum Iterations) are run, feasible designs are found (Constraint Violation Tol. (%)), and the non-dominated designs did not change in the last iteration.
    • The maximum number of allowable iterations (Maximum Iterations) is reached.
    • An analysis fails and the “Terminate optimization” option is the default (On Failed Evaluation).


Figure 1. Multi - Objective Genetic Algorithm Process Phases

Settings

In the Specifications step, change method settings from the Settings and More tabs.
Note: For most applications the default settings work optimally, and you may only need to change the Maximum Iterations and On Failed Evaluation.
Table 1. Settings Tab
Parameter Default Range Description
Maximum Iterations 50 >0 Maximum number of iterations allowed.
Minimum Iterations 25
  • >0
  • <=Maximum Iterations

Processes at least Minimum Iterations iteration steps.

Use this setting to prevent pre-mature convergence.

By setting Minimum Iterations to be the same as Maximum Iterations, the defined number of iteration steps will be run.

Multi - Objective Genetic Algorithm will be terminated if it has iterated the minimum iteration steps and feasible designs are found and the non-dominated designs did not change in the last iteration.
Population Size 0 Integer > 1
If Population Size is 0, then population size is calculated according to the following equation, where N is the number of input variables.
Population Size=[ 3+37 e ( N1 5.806 ) 0.5 ]N
If Population Size is greater than 0, then population size uses the user defined value.
If the allowable computational effort is limited, set your own value.
Tip: In general, it is better to process at least 25 iteration steps.
Constraint Violation Tol. (%) 1.0 > 0.0 Global maximum allowable percentage constraint violation. Constraints must not be violated by more than this value in the converged design.
On Failed Evaluation Ignore failed evaluations
  • Terminate optimization
  • Ignore failed evaluations
Terminate optimization
Terminates with an error message when an analysis run fails.
Ignore failed evaluations
Ignores the failed analysis run.
Table 2. More Tab
Parameter Default Range Description
Crowding Distance Design Space
  • Design Space
  • Solution Space
  • Design/Solution Space
Determines in which space the crowding distance is evaluated.
The crowding distance evaluation strategy allows users to get solutions more uniformly distributed in the selected space.
Design Space
Crowding distance is evaluated in design space.
Solution Space
Crowding distance is evaluated in solution space.
Design/Solution Space
Crowding distance is evaluated in both of the two spaces.
Discrete States 1024 Integer > 1
Number of discrete values uniformly covering the range of continuous variables including upper and lower bound.
Tip: Select as a power of 2, for example 64 = 2^6, 1024 =2^10, and so on.
A larger value allows for higher solution precision, but more computational effort is needed to find the optima.
Mutation Rate 0.01 0.0 - 1.0
Mutation rate (probability). Larger values introduce a more random effect. As a result, the algorithm can explore more globally but the convergence could be slower.
Tip: Recommended range: 0.001 – 0.05
Elite Population (%) 10 1.0 - 50.0
Percentage of population that belongs to elite. The one with highest fitness value is directly passed to the next generation. This is a very important strategy, as it ensures the quality of solutions be non-decreasing. A larger value means that more individuals will be directly passed to the next generation, therefore new gene has less chance to be introduced. The convergence speed could be increased. The drawback is that too large of values could cause premature convergence.
Tip: Recommended range: 1.0 – 20.0.
Random Seed 0 Integer

0 to 10000

Controlling repeatability of runs depending on the way the sequence of random numbers is generated.
0
Random (non-repeatable).
>0
Triggers a new sequence of pseudo-random numbers, repeatable if the same number is specified.
Number of Contenders 2 Integer

2 to 5

Number of contenders in a tournament selection. For larger values, individuals with lower fitness value have less chance to be selected. Thus, the good individuals have more chance to produce offspring. The bad effect is that, diversity of the population is reduced. The algorithm could converge prematurely.
Penalty Power 1
  • > 0.0
  • < 10.0
Penalty power in the formulation of the fitness function as exterior penalty function.
Tip: Recommended range: 1.0 – 2.0.
Penalty Multiplier 2.0 > 0.0
Initial penalty multiplier in the formulation of the fitness function as exterior penalty function. Penalty multiplier will be increased gradually with iterating steps going on. In general, larger values allow the solution to become feasible with less iteration steps; but too large of a value could result in a worse solution.
Tip: Recommended range: 1.0 – 5.0.
Distribution Index 5 Integer

1 to 100

Distribution index used by real coded Multi - Objective Genetic Algorithm.
Controls offspring individuals to be close to or far away from the parent individuals. Increasing the value will result in offspring individuals being closer to the parents.
Tip: Recommended range: 3.0 – 10.0.
Type Real Real or Binary
Real
Use real coded Multi - Objective Genetic Algorithm.
Binary
Use binary coded Multi - Objective Genetic Algorithm.
In general, real coded Multi - Objective Genetic Algorithm performs better than binary coded Multi - Objective Genetic Algorithm. For discrete optimization problem, binary coded Multi - Objective Genetic Algorithm could be better.
Max Failed Evaluations 20,000 >=0 When On Failed Evaluations is set to Ignore failed evaluations (1), the optimizer will tolerate failures until this threshold for Max Failed Evaluations. This option is intended to allow the optimizer to stop after an excessive amount of failures.
Hybrid Algorithm No hybrid
  • No hybrid
  • Meta-model based method
Constraint Threshold 1.0e-4 > 0.0
Used for constraint value calculation. In general, constraint value is normalized to its bound value. One exception is that, constraint value is not normalized if its absolute bound value is less than this parameter.
Tip: Recommended range is 1.0e-6 ~ 1.0.
Use Inclusion Matrix No
  • No
  • With Initial
  • Without Initial
No
Ignores the Inclusion matrix
With Initial
Runs the initial point. The best point of the inclusion or the initial point is used as the starting point.
Without Initial
Does not run the initial point. The best point of the inclusion is used as the starting point.