Algorithms - Asynchronous Parallel Dynamically Dimensioned Search (DDS)

The OSTRICH asynchronous parallel dynamically dimensioned search optimization algorithm

Initial Publication:

Modified:

The following optional group will configure the asynchronous parallel implementation of the DDS algorithm and will be processed if [ProgramType] is set to “ParallelDDS”.

BeginParallelDDSAlg
PerturbationValue      [r_val]
MaxIterations          [budget]
UseInitialParamValues
UseRandomParamValues
UseOpt                 [option]
AlphaValue             [alpha]
BetaValue              [beta]
EnableDebugging
EndParallelDDSAlg
BeginParallelDDSAlg
PerturbationValue      0.2
MaxIterations          100
UseRandomParamValues
UseOpt                 standard
EndParallelDDSAlg

Figure 1: General Format (left) and Example (right) of the parallel DDS Group

Where BeginParallelDDSAlg and EndParallelDDSAlg are parsing tags that wrap a set of algorithm configuration variables. Other acceptable parsing tags are:

  • BeginParallelDDS and EndParallelDDS
  • BeginParaDDSAlg and EndParaDDSAlg
  • BeginParaDDS and EndParaDDS
  • BeginDDSAlg and EndDDSAlg
  • BeginDDS and EndDDS

Configuration variables for the parallel DDS algorithm are as follows:

  • PerturbationValue: This parameter defines the standard deviation of the decision variable perturbations as follows: PerturbationValue = StdDev / DV_Range. The allowable range is 0 to 1. As the value increases, the sampling becomes more and more spread out from the current best value of the decision variable. The default and recommended value is 0.2.
  • MaxIterations: The computational budget in terms of the number of objective function evaluations. Users need to set this input for each problem according to how long each objective function evaluation takes and how quickly an answer is needed. The more objective functions you use, the better your estimate of the globally optimal solution will be. The default value is 100.
  • UseInitialParamValues: The algorithm will be initiated from the initial values specified in the parameter group if this line is included. This variable is mutually exclusive with the “UseRandomParamValues” variable – only one should be included. If neither are included the algorithm will default to “UseRandomParamValues”.
  • UseRandomParamValues: If this line is included the algorithm will be initiated from a randomly generated location. This variable is mutually exclusive with the “UseInitialParamValues” variable – only one should be included. If neither are included the algorithm will default to “UseRandomParamValues”.
  • UseOpt: Users wanting to apply the original DDS algorithm can ignore specifying this option. This option is used by OSTRICH and DDS developers to compare the DDS algorithm implemented in different programming languages. It is an experimental developer option that controls the calculation of parameter adjustments within the parallel DDS algorithm. Three values are acceptable: “no-rand-num”, “try-int-solution”, and “standard”. The default and recommended value is “standard”. The “Alpha” and “Beta” values will be used by the algorithm if “no-rand-num” is selected. Otherwise, these variables are ignored (i.e. if either “try-int-solution” or “standard” are selected).
  • AlphaValue, BetaValue: These parameters control the parallel DDS perturbation scheme if the UseOpt variable is set to “no-rand-num”. Otherwise, these variables are ignored. Both variables have a default value of 0.5.
  • EnableDebugging: The parallel DDS algorithm will report additional development-level debugging information if this variable is included. The default behavior of the algorithm is to not report debugging information.

References

Tolson, B. A., Sharma, V.,Swayne, D. A. 2014. Parallel Implementations of the Dynamically Dimensioned Search (DDS) Algorithm. ENVIRONMENTAL SOFTWARE SYSTEMS 573.