MoochoPack::NLPSolverClientInterface Class Reference

This is the most basic interface that clients use to solve an NLP. More...

#include <MoochoPack_NLPSolverClientInterface.hpp>

Inheritance diagram for MoochoPack::NLPSolverClientInterface:

Inheritance graph
[legend]
List of all members.

Public Types

enum  EFindMinReturn
  More...

Solver Parameters

 STANDARD_MEMBER_COMPOSITION_MEMBERS (int, max_iter)
 Set the maximum number of iterations the rSQP algorithm can perform.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (double, max_run_time)
 Set the maximum run_time.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, opt_tol)
 Set the termination tolerance for the relative (scaled) linear dependence of the gradients part of the first order necessary optimality conditions.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, feas_tol)
 Set the termination tolerance for the (scaled) equality constraints ||c(x*)||inf which is part of the first order necessary optimality conditions.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, comp_tol)
 Set the termination tolerance for the complementarity condition for the (scaled) bound constraints which is part of the first order necessary optimality conditions.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (value_type, step_tol)
 Set the termination tolerance for the change in the estimate of the solution.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (EJournalOutputLevel, journal_output_level)
 Determine the amount of output to a journal file.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (EJournalOutputLevel, null_space_journal_output_level)
 Determine the amount of output of the null space to a journal file.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (int, journal_print_digits)
 Set the precesion of the journal output.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, check_results)
 Set whether computations will be double checked or not.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, calc_conditioning)
 Set whether the condition numbers of important matrics is computed and printed or not.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, calc_matrix_norms)
 Set whether or not matrix norms are computed and printed.
 STANDARD_MEMBER_COMPOSITION_MEMBERS (bool, calc_matrix_info_null_space_only)
 Set whether calc_conditioning and calc_matrix_norms apply to only null space matrices.

Constructors/initalizers

 STANDARD_COMPOSITION_MEMBERS (NLP, nlp)
 <<std comp>="">> members for the nlp
 STANDARD_COMPOSITION_MEMBERS (AlgorithmTracker, track)
 <<std comp>="">> members for the track
 NLPSolverClientInterface (int max_iter=10000, double max_run_time=1e+10, value_type opt_tol=1e-6, value_type feas_tol=1e-6, value_type comp_tol=1e-6, value_type step_tol=1e-2, EJournalOutputLevel journal_output_level=PRINT_ALGORITHM_STEPS, EJournalOutputLevel null_space_journal_output_level=PRINT_ALGORITHM_STEPS, int journal_print_digits=6, bool check_results=false, bool calc_conditioning=false, bool calc_matrix_norms=false, bool calc_matrix_info_null_space_only=false)
 Construct with no references set to nlp or track objects.
virtual ~NLPSolverClientInterface ()
 

Solve the NLP

virtual EFindMinReturn find_min ()=0
 Find the minimun of the set NLP.

Algorithm description

virtual void print_algorithm (std::ostream &out) const =0
 Prints a description of the algorithm.

Algorithm timing

virtual void set_algo_timing (bool algo_timing)=0
 Causes algorithm to be timed.
virtual bool algo_timing () const =0
 
virtual void print_algorithm_times (std::ostream &out) const =0
 Outputs table of times for each step and the cummulative times.

Classes

class  InvalidSetup
 Thrown if the setup is not valid. More...

Detailed Description

This is the most basic interface that clients use to solve an NLP.

ToDo: Finish documentaiton.

Definition at line 46 of file MoochoPack_NLPSolverClientInterface.hpp.


Member Enumeration Documentation

enum MoochoPack::NLPSolverClientInterface::EFindMinReturn

Definition at line 53 of file MoochoPack_NLPSolverClientInterface.hpp.


Constructor & Destructor Documentation

MoochoPack::NLPSolverClientInterface::NLPSolverClientInterface ( int  max_iter = 10000,
double  max_run_time = 1e+10,
value_type  opt_tol = 1e-6,
value_type  feas_tol = 1e-6,
value_type  comp_tol = 1e-6,
value_type  step_tol = 1e-2,
EJournalOutputLevel  journal_output_level = PRINT_ALGORITHM_STEPS,
EJournalOutputLevel  null_space_journal_output_level = PRINT_ALGORITHM_STEPS,
int  journal_print_digits = 6,
bool  check_results = false,
bool  calc_conditioning = false,
bool  calc_matrix_norms = false,
bool  calc_matrix_info_null_space_only = false 
)

Construct with no references set to nlp or track objects.

Definition at line 32 of file MoochoPack_NLPSolverClientInterface.cpp.

virtual MoochoPack::NLPSolverClientInterface::~NLPSolverClientInterface (  )  [inline, virtual]

Definition at line 161 of file MoochoPack_NLPSolverClientInterface.hpp.


Member Function Documentation

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( int  ,
max_iter   
)

Set the maximum number of iterations the rSQP algorithm can perform.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( double  ,
max_run_time   
)

Set the maximum run_time.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( value_type  ,
opt_tol   
)

Set the termination tolerance for the relative (scaled) linear dependence of the gradients part of the first order necessary optimality conditions.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( value_type  ,
feas_tol   
)

Set the termination tolerance for the (scaled) equality constraints ||c(x*)||inf which is part of the first order necessary optimality conditions.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( value_type  ,
comp_tol   
)

Set the termination tolerance for the complementarity condition for the (scaled) bound constraints which is part of the first order necessary optimality conditions.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( value_type  ,
step_tol   
)

Set the termination tolerance for the change in the estimate of the solution.

The test is: |d(i)|/(1+|x(i)|) < step_tol.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( EJournalOutputLevel  ,
journal_output_level   
)

Determine the amount of output to a journal file.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( EJournalOutputLevel  ,
null_space_journal_output_level   
)

Determine the amount of output of the null space to a journal file.

This option allows the user to perform a higher level of output for quantities in the null space.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( int  ,
journal_print_digits   
)

Set the precesion of the journal output.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
check_results   
)

Set whether computations will be double checked or not.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
calc_conditioning   
)

Set whether the condition numbers of important matrics is computed and printed or not.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
calc_matrix_norms   
)

Set whether or not matrix norms are computed and printed.

MoochoPack::NLPSolverClientInterface::STANDARD_MEMBER_COMPOSITION_MEMBERS ( bool  ,
calc_matrix_info_null_space_only   
)

Set whether calc_conditioning and calc_matrix_norms apply to only null space matrices.

MoochoPack::NLPSolverClientInterface::STANDARD_COMPOSITION_MEMBERS ( NLP  ,
nlp   
)

<<std comp>="">> members for the nlp

MoochoPack::NLPSolverClientInterface::STANDARD_COMPOSITION_MEMBERS ( AlgorithmTracker  ,
track   
)

<<std comp>="">> members for the track

virtual EFindMinReturn MoochoPack::NLPSolverClientInterface::find_min (  )  [pure virtual]

Find the minimun of the set NLP.

This function returns SOLUTION_FOUND if the NLP has been solved to the desired tolerances. In this case this->track().output_final(...,TERMINATE_TRUE) and this->nlp().report_final_solution(...,true) are called before this function returns..

If the solution is not found, then this->nlp().report_final_solution(...,false) is called and one of the following occurs:

Preconditions:

Postcondtions:

Implemented in MoochoPack::NLPAlgoContainer.

virtual void MoochoPack::NLPSolverClientInterface::print_algorithm ( std::ostream &  out  )  const [pure virtual]

Prints a description of the algorithm.

Implemented in MoochoPack::NLPAlgoClientInterface, and MoochoPack::NLPAlgoContainer.

virtual void MoochoPack::NLPSolverClientInterface::set_algo_timing ( bool  algo_timing  )  [pure virtual]

Causes algorithm to be timed.

Call with algo_timing == true before calling find_min() to have the algorithm timed.

Implemented in MoochoPack::NLPAlgoContainer.

virtual bool MoochoPack::NLPSolverClientInterface::algo_timing (  )  const [pure virtual]

Implemented in MoochoPack::NLPAlgoContainer.

virtual void MoochoPack::NLPSolverClientInterface::print_algorithm_times ( std::ostream &  out  )  const [pure virtual]

Outputs table of times for each step and the cummulative times.

Call after find_min() has executed to get a table of times.

Implemented in MoochoPack::NLPAlgoContainer.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:32:16 2010 for MoochoPack : Framework for Large-Scale Optimization Algorithms by  doxygen 1.4.7