ConcurrentStrategy Class Reference

Strategy for multi-start iteration or pareto set optimization. More...

Inheritance diagram for ConcurrentStrategy:

Strategy List of all members.

Public Member Functions

 ConcurrentStrategy (ProblemDescDB &problem_db)
 constructor
 ~ConcurrentStrategy ()
 destructor

Protected Member Functions

void run_strategy ()
 settings within the iterator or model.
void initialize_iterator (int job_index)
 scheduling function (serve_iterators() or static_schedule_iterators())
void pack_parameters_buffer (MPIPackBuffer &send_buffer, int job_index)
 pack a send_buffer for assigning an iterator job to a server
void unpack_parameters_buffer (MPIUnpackBuffer &recv_buffer)
 unpack a recv_buffer for accepting an iterator job from the scheduler
void pack_results_buffer (MPIPackBuffer &send_buffer, int job_index)
 pack a send_buffer for returning iterator results from a server
void unpack_results_buffer (MPIUnpackBuffer &recv_buffer, int job_index)
 unpack a recv_buffer for accepting iterator results from a server
void update_local_results (int job_index)
 update local prpResults with current iteration results

Private Member Functions

void initialize_iterator (const RealVector &param_set)
 initialize_iterator(int) to update userDefinedModel and selectedIterator
void print_results () const
 prints the concurrent iteration results summary (called by run_strategy())

Private Attributes

Model userDefinedModel
 the model used by the iterator
Iterator selectedIterator
 the iterator used by the concurrent strategy
bool multiStartFlag
 distinguishes multi-start from Pareto-set
RealVector initialPt
 point in the Pareto set strategy
RealVectorArray parameterSets
 be performed.

Detailed Description

Strategy for multi-start iteration or pareto set optimization.

This strategy maintains two concurrent iterator capabilities. First, a general capability for running an iterator multiple times from different starting points is provided (often used for multi-start optimization, but not restricted to optimization). Second, a simple capability for mapping the "pareto frontier" (the set of optimal solutions in multiobjective formulations) is provided. This pareto set is mapped through running an optimizer multiple times for different sets of multiobjective weightings.


Member Function Documentation

void pack_parameters_buffer ( MPIPackBuffer send_buffer,
int  job_index 
) [inline, protected, virtual]

pack a send_buffer for assigning an iterator job to a server

This virtual function redefinition is executed on the dedicated master processor for self scheduling. It is not used for peer partitions.

Reimplemented from Strategy.

void unpack_parameters_buffer ( MPIUnpackBuffer recv_buffer  )  [inline, protected, virtual]

unpack a recv_buffer for accepting an iterator job from the scheduler

This virtual function redefinition is executed on an iterator server for dedicated master self scheduling. It is not used for peer partitions.

Reimplemented from Strategy.

void pack_results_buffer ( MPIPackBuffer send_buffer,
int  job_index 
) [inline, protected, virtual]

pack a send_buffer for returning iterator results from a server

This virtual function redefinition is executed either on an iterator server for dedicated master self scheduling or on peers 2 through n for static scheduling.

Reimplemented from Strategy.

void unpack_results_buffer ( MPIUnpackBuffer recv_buffer,
int  job_index 
) [inline, protected, virtual]

unpack a recv_buffer for accepting iterator results from a server

This virtual function redefinition is executed on an strategy master (either the dedicated master processor for self scheduling or peer 1 for static scheduling).

Reimplemented from Strategy.


The documentation for this class was generated from the following files:
Generated on Wed Nov 5 19:54:06 2008 for DAKOTA by  doxygen 1.5.1