neighbor_order

Number of dimensions in which to perturb categorical variables.

Specification

  • Alias: None

  • Arguments: INTEGER

Description

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 1-dimensional 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.

Examples

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 1-dimensional 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 2-dimensional perturbations defined from the tensor product of the 1-dimensional 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)