SWOpt Class Reference

An implemention of the stochastic direct search algorithms described by Solis and Wets '81. More...

#include <SWOpt.h>

Inheritance diagram for SWOpt::

RealOptimizer BaseOptimizer CommonIO List of all members.

Configuration Controls

int set_neighborhood (const char *str)
 Used to specify the deviates used to search in a neighborhood: normal or uniform.

int max_success
 The number of consecutive successful iterations before \Ref{Delta} is expanded.

int max_failure
 The number of consecutive failed iterations before \Ref{Delta} is contracted.

REAL ex_factor
 Expansion factor for \Ref{Delta}.

REAL ct_factor
 Contraction factor for \Ref{Delta}.

int update_id
 The flag that controls the types of updates for Delta.

int bias_flag
 Flag which indicates whether the bias is used.

int expand_flag

Iteration Controls

void virt_debug_io (ostream &os, const int finishing, const int output_level)
 Print debugging information for subclasses of \Ref{BaseOptimizer}. More...

void UpdateDelta (int flag)
virtual int gen_new_point (RealVector &new_pt, RealVector &mean_vec, REAL offset)
int iteration_status
RealVectorbest_point
RealVectornew_point
RealVectortemp_point
RealVector vec1
RealVector vec2
RealVector vec3
RealVector bias
Uniform unif_dev
Normal normal_dev

Public Methods

General Information
 SWOpt (RNG *rng_=&default_rng)
int minimize ()
 Performs minimization. More...

void set_rng (RNG *rng_)
 Sets the random number generator.

void reset ()
 Setup the Delta and Sigma scale information.

int write (ostream &os)
 Print information about the optimizer.


Public Attributes

Termination Controls
REAL Delta_thresh
 Lower bound on the value of \Ref{Delta}.


Protected Attributes

Configuration Controls
int n_failure
int n_success
int nbhd_type

Detailed Description

An implemention of the stochastic direct search algorithms described by Solis and Wets '81.

Algorithm 1 uses normal deviations and Algorithm 2 uses uniform deviations.


Member Function Documentation

int SWOpt::minimize   [virtual]
 

Performs minimization.

This method is defined be the subclass. The \Ref{check_convergence} method can be used to utilize the termination controls defined by this class. Also, the \Ref{debug_io} method can be used to print general debugging information in a standard format. If the developer wishes to provide additional debugging information, the \Ref{virt_debug_io} method can be redefined. This method is called from \Ref{debug_io}.

Reimplemented from BaseOptimizer.

void SWOpt::virt_debug_io ostream &    os,
const int    finishing,
const int    output_level
[protected, virtual]
 

Print debugging information for subclasses of \Ref{BaseOptimizer}.

Parameters:
os  Output stream.
finishing  If true, then the optimizer is finishing up.

Reimplemented from BaseOptimizer.


The documentation for this class was generated from the following file: