Genetic Operators

Figure 1 - RISKOptimizer Genetic Operators Window

RISKOptimizer includes selectable genetic operators when used with the Recipe solving method. Genetic operators (such as heuristic crossover or boundary mutation) can be used when generating possible values for the adjustable cells. The Genetic Operators window (Figure 1, right) allows for the manual selection of operators to be used in an optimization.RISKOptimizer can automatically test all available operators and identify the one that performs best for a given problem.

Genetic algorithms use genetic operators to create new members of the population from current members. Two of the types of genetic operators RISKOptimizer employs are mutation and crossover. The mutation operator determines whether random changes in “genes” (variables) will occur and how they occur. The crossover operator determines how pairs of members in a population swap genes to produce “offspring” that may be better solutions than either of their “parents".

RISKOptimizer includes several specialized genetic operators, including the following primary options:

  • Arithmetic Crossover - This method creates new offspring by arithmetically combining the two parents (as opposed to swapping genes).
  • Heuristic Crossover - This method uses values produced by the parents to determine how the offspring is produced. It searches in the most promising direction and provides local fine-tuning.
  • Cauchy Mutation - This operator is designed to produce small changes in variables most of the time, but can occasionally generate large changes.
  • Boundary Mutation - This is designed to quickly optimize variables that affect the result in a monotonic fashion and can be set to the extremes of their range without violating constraints.
  • Non-uniform Mutation - This produces smaller and smaller mutations as more trials are calculated. This allows RISKOptimizer to fine-tune solutions.
  • Linear - These are designed to solve problems where the optimal solution lies on the boundary of the search space defined by the constraints. This mutation and crossover operator pair is well suited for solving linear optimization problems.

Depending on the type of optimization problem, different combinations of mutation and crossover operators can produce better results than others. Any number of operators can be selected; when multiple selections are made, RISKOptimizer will test valid combinations of the selected operators to identify the best performing ones for the model. After a run, the Optimization Summary worksheet ranks each of the selected operators by their performance during the run.

For subsequent runs of the same model, selecting just the top performing operators can lead to faster, better performing optimizations.