42 #ifndef RSQP_SOLVER_CLIENT_INTERFACE_H
43 #define RSQP_SOLVER_CLIENT_INTERFACE_H
53 namespace MoochoPack {
75 {
public:
InvalidSetup(
const std::string& what_arg) : std::logic_error(what_arg) {}};
159 ,
double max_run_time = 1e+10
166 ,
int journal_print_digits = 6
167 ,
bool check_results =
false
168 ,
bool calc_conditioning =
false
169 ,
bool calc_matrix_norms =
false
170 ,
bool calc_matrix_info_null_space_only =
false
254 #ifdef DOXYGEN_COMPILE // Strictly for doxygen diagrams
265 #endif // RSQP_SOLVER_CLIENT_INTERFACE_H
virtual EFindMinReturn find_min()=0
Find the minimun of the set NLP.
IterationPack::AlgorithmTracker * track
STANDARD_MEMBER_COMPOSITION_MEMBERS(int, max_iter)
Set the maximum number of iterations the rSQP algorithm can perform.
virtual void print_algorithm_times(std::ostream &out) const =0
Outputs table of times for each step and the cummulative times.
EJournalOutputLevel
enum for journal output.
virtual void print_algorithm(std::ostream &out) const =0
Prints a description of the algorithm.
NLPInterfacePack::NLP * nlp
NLP interface class {abstract}.
Thrown if the setup is not valid.
This is the most basic interface that clients use to solve an NLP.
AbstractLinAlgPack::value_type value_type
virtual ~NLPSolverClientInterface()
Used to ouput iteration results and other information.
InvalidSetup(const std::string &what_arg)
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.
STANDARD_COMPOSITION_MEMBERS(NLP, nlp)
<<std comp>="">> members for the nlp
virtual bool algo_timing() const =0
virtual void set_algo_timing(bool algo_timing)=0
Causes algorithm to be timed.