Methods are run one at a time, in sequence


  • Alias: uncoupled

  • Arguments: None

Child Keywords:


Description of Group

Dakota Keyword

Dakota Keyword Description

Required (Choose One)

Sub-method Selection


List of Dakota methods to sequentially or collaboratively run


Pointers to methods to execute sequantially or collaboratively



Specify the number of iterator servers when Dakota is run in parallel



Specify the scheduling of concurrent iterators when Dakota is run in parallel



Specify the number of processors per iterator server when Dakota is run in parallel


In the sequential approach, methods are run one at a time, in sequence. The best solutions from one method are used to initialize the next method.

The sequence of methods (i.e. iterators) to run are specified using either a method_pointer_list or a method_name_list (with optional model_pointer_list). Any number of iterators may be specified.

Method switching is managed through the separate convergence controls of each method. The number of solutions transferred between methods is specified by the particular method through its final_solutions method control.

For example, if one sets up a two-level study with a first method that generates multiple solutions such as a genetic algorithm, followed by a second method that is initialized only at a single point such as a gradient-based algorithm, it is possible to take the multiple solutions generated by the first method and create several instances of the second method, each one with a different initial starting point.

The logic governing the transfer of multiple solutions between methods is as follows:

  • if one solution is returned from method A, then one solution is transferred to method B.

  • If multiple solutions are returned from method A, and method B can accept multiple solutions as input (for example, as a genetic algorithm population), then one instance of method B is initialized with multiple solutions.

  • If multiple solutions are returned from method A but method B only can accept one initial starting point, then method B is run several times, each one with a separate starting point from the results of method A.