Blurb::
Methods are run one at a time, in sequence
Description::
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 :dakkw:`method-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.
Topics::

Examples::

Theory::

Faq::

See_Also::
