The Algorithm Selection Wizard
The Algorithm Selection Wizard is accessed by pressing the Choose button in the Optimization Tool. The Algorithm Selection Wizard takes the information already provided by the problem definition and then asks a series of questions to help select an algorithm that is appropriate for the problem you are trying to solve. If the answer to a question can be drawn from the problem definition, it will be skipped by the wizard. If you have already answered all of the wizard questions once, you will immediately be presented with the Algorithm Comparison page.
Welcome Page
The welcome page summarizes the problem definition (objectives, constraints and design variables) as they have been specified in the Optimization Tool.
Design Objectives Page
If the objectives have not already been specified, the wizard will ask how many objectives the problem will have. While some algorithms can handle only one objective, others can handle more than one objective. Certain algorithms can handle up to a number of objectives.
Goals Page
If the objectives have not already been specified, the wizard will ask what types of goals the problem will have. Some algorithms are not capable of finding designs where an objective has a specific value. Some algorithms are only capable of minimizing or maximizing an objective.
Design Constraints Page
If the design problem has not yet been fully specified, the wizard will ask whether or not the problem will have constraints. Some algorithms are not capable of handling constrained problems.
Smooth and Non-Smooth Responses Page
If the design problem has not yet been fully specified and there are only continuous design variables, the wizard will ask whether or not the responses (objectives and constraints) vary smoothly. Algorithms that uses derivatives (slope of the response function) to determine search directions may not be reliable for non-smooth response functions.
Discrete or Continuous Design Variables Page
If the design variables have not yet been specified, the wizard will ask whether or not all of the design variables will be continuous. Some algorithms are only capable of working with continuous design variables; others can handle both continuous and discrete design variables.
Model Speed Page
The wizard asks for an estimation of how long your model takes to run. If your model takes a long time to run, then algorithms that minimize the number of model executions will be given a higher ranking.
Failed Runs in Model Page
The wizard asks whether or not it is possible for your model to have failed runs. Some models have the possibility of throwing errors for some input values. Not all algorithms are capable of handling run failures.
Algorithm Comparison Page
All of the algorithms installed are listed in the Algorithm table, and they are rated based on their capabilities and your answers provided to the wizard. By default, only the overall rating for the algorithm is presented. The possible ratings are:
- – Suitable
- – Possibly Suitable
- – Unsuitable
- – Unknown
For more information about why an algorithm has a particular rating, check the Show rating details checkbox. This displays the following columns:
- Rating - This is the same rating as was displayed in the condensed table
- Discrete Variables - Set based on whether the problem had discrete variables and whether or not the algorithm supports them (see Discrete or Continuous Design Variables Page)
- Model Speed - Set based on the reported speed of your model and how many evaluations the algorithm typically requires (see Model Speed Page)
- Multiple Objectives - Set based on whether you have specified multiple objectives and whether or not the algorithm supports them (see Design Objectives Page)
- Smooth Responses - Set based on whether or not your responses are smooth and whether the algorithm works well with non-smooth responses (see Smooth and Non-Smooth Responses Page)
- Design Constraints - Set based on whether or not your problem has constraints and whether or not the algorithm supports constraints (see Design Constraints Page)
- Goals - Set based on the goals that you are using and whether or not the algorithm supports those goals (see Goals Page)
- Failed Runs - Set based on whether or not your model might have failed runs and whether or not the algorithm can handle failed runs (see Failed Runs in Model Page)
- License - Set based on whether or not a license is available for the algorithm
For the Possibly Suitable, Unsuitable and Unknown ratings, tooltips are available for information about why that rating was given.
When an algorithm is selected in the table, a brief description of the algorithm is displayed below the Algorithm table, and the algorithm's help file can be opened for more information by clicking on the Open algorithm help in external viewer link.
If you have specified multiple objectives and have selected an algorithm that does not directly support multiple objectives, you will see the Next button. When you click Next you will be asked to specify Objectives Weights.
Otherwise, you will see the Finish button. When Finish is clicked, the algorithm you have selected in the Algorithm table will be applied to the Optimization Tool.
Specify Objective Weights Page
If you have specified more than one objective, and you have selected an algorithm that does not directly support multiple objectives, the wizard will ask you to specify weight factors for each objective. The algorithm selected only allows one independent objective. Multiple objectives can be handled by calculating a weighted sum of the objectives, where that sum will be minimized. Maximize objectives will be subtracted, and Solve For Value objectives will be converted to minimizing the differences between the actual values and the target values.