Dakota Reference Manual
Version 6.4
LargeScale Engineering Optimization and Uncertainty Analysis

Number of dimensions in which to perturb categorical variables.
Alias: none
Argument(s): INTEGER
The neighbor_order
keyword allows the user to specify the number of categorical dimensions to perturb when determining neighboring points that will be used by the mesh adaptive direct search method to augment its search. When greater than 1, the neighbors are defined from the tensor product of the admissible 1dimensional perturbations.
Default Behavior
By default, the categorical neighbors will be defined by perturbing only one categorical variable at a time (according to the corresponding adjacency_matrix; see adjacency_matrix) while leaving the others fixed at their current values.
Usage Tips
The maximum meaningful value neighbor_order
can take on is the number of categorical variables.
In this example, suppose we have the following categorical variables and associated adjacency matrices.
variables discrete_design_set real = 2 categorical ‘yes’ ‘yes’ num_set_values = 3 5 set_values = 1.2 2.3 3.4 1.2 3.3 4.4 5.5 7.7 adjacency_matrix = 1 1 0 1 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Also suppose that we have the following method specification.
method mesh_adaptive_search seed = 1234
If the mesh adaptive direct search is at the point (1.2, 1.2), then the neighbors will be defined by the default 1dimensional perturbations and would be the following:
(2.3, 1.2) (1.2, 4.4) (1.2, 7.7)
If, instead, the method specification is the following:
method mesh_adaptive_search seed = 1234 neighbor_order = 2
The neighbors will be defined by 2dimensional perturbations defined from the tensor product of the 1dimensional perturbation and would be the following:
(2.3, 1.2) (2.3, 4.4) (2.3, 7.7) (1.2, 4.4) (1.2, 7.7)
These keywords may also be of interest: