42 #ifndef RSQP_SOLVER_CLIENT_INTERFACE_H
43 #define RSQP_SOLVER_CLIENT_INTERFACE_H
47 #include "MoochoPack_Types.hpp"
48 #include "NLPInterfacePack_NLP.hpp"
49 #include "IterationPack_AlgorithmTracker.hpp"
53 namespace MoochoPack {
69 ,MAX_RUN_TIME_EXCEEDED
75 {
public:
InvalidSetup(
const std::string& what_arg) : std::logic_error(what_arg) {}};
159 ,
double max_run_time = 1e+10
160 ,value_type opt_tol = 1e-6
161 ,value_type feas_tol = 1e-6
162 ,value_type comp_tol = 1e-6
163 ,value_type step_tol = 1e-2
164 ,EJournalOutputLevel journal_output_level = PRINT_ALGORITHM_STEPS
165 ,EJournalOutputLevel null_space_journal_output_level = PRINT_ALGORITHM_STEPS
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.
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.
virtual void print_algorithm(std::ostream &out) const =0
Prints a description of the algorithm.
Thrown if the setup is not valid.
This is the most basic interface that clients use to solve an NLP.
virtual ~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.
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.