| 9 | |
| 10 | namespace uno { |
| 11 | void DefaultOptions::load(Options& options) { |
| 12 | DefaultOptions::determine_subproblem_solvers(options); |
| 13 | |
| 14 | /** termination **/ |
| 15 | // primal tolerance (constraint violation) |
| 16 | options.set_double("primal_tolerance", 1e-8); |
| 17 | // dual tolerance (stationarity and complementarity) |
| 18 | options.set_double("dual_tolerance", 1e-8); |
| 19 | // loose tolerance used if primal tolerance cannot be reached |
| 20 | options.set_double("loose_primal_tolerance", 1e-6); |
| 21 | // loose tolerance used if dual tolerance cannot be reached |
| 22 | options.set_double("loose_dual_tolerance", 1e-6); |
| 23 | // number of iterations during which the loose tolerance is monitored |
| 24 | options.set_integer("loose_tolerance_iteration_threshold", 15); |
| 25 | // maximum outer iterations |
| 26 | options.set_integer("max_iterations", 2000); |
| 27 | // CPU time limit (in seconds) |
| 28 | options.set_double("time_limit", INF<double>); |
| 29 | // print optimal solution (yes|no) |
| 30 | options.set_bool("print_solution", false); |
| 31 | // threshold on objective to declare unbounded NLP |
| 32 | options.set_double("unbounded_objective_threshold", -1e20); |
| 33 | |
| 34 | /** main options **/ |
| 35 | options.set_bool("write_solution_to_file", false); |
| 36 | // logging level (SILENT|DISCRETE|WARNING|INFO|DEBUG|DEBUG2|DEBUG3) |
| 37 | options.set_string("logger", "INFO"); |
| 38 | // Hessian model (exact|LBFGS|identity|zero) |
| 39 | options.set_string("hessian_model", "exact"); |
| 40 | options.set_string("inertia_correction_strategy", "primal"); |
| 41 | // norm of the progress measures (L1|L2|INF) |
| 42 | options.set_string("progress_norm", "L1"); |
| 43 | // norm of the primal-dual residuals (L1|L2|INF) |
| 44 | options.set_string("residual_norm", "INF"); |
| 45 | options.set_double("residual_scaling_threshold", 100.); |
| 46 | options.set_bool("protect_actual_reduction_against_roundoff", false); |
| 47 | options.set_double("protected_actual_reduction_macheps_coefficient", 10.); |
| 48 | options.set_bool("print_subproblem", false); |
| 49 | |
| 50 | /** globalization strategy options **/ |
| 51 | options.set_double("armijo_decrease_fraction", 1e-4); |
| 52 | options.set_double("armijo_tolerance", 1e-9); |
| 53 | |
| 54 | /** switching method options **/ |
| 55 | options.set_double("switching_delta", 0.999); |
| 56 | options.set_double("switching_infeasibility_exponent", 2); |
| 57 | |
| 58 | /** merit function options **/ |
| 59 | options.set_double("sufficient_infeasibility_decrease_ratio", 0.9); |
| 60 | |
| 61 | /** filter method options **/ |
| 62 | // filter type (standard) |
| 63 | options.set_string("filter_type", "standard"); |
| 64 | options.set_double("filter_beta", 0.999); |
| 65 | options.set_double("filter_gamma", 0.001); |
| 66 | options.set_double("filter_ubd", 1e2); |
| 67 | options.set_double("filter_fact", 1.25); |
| 68 | options.set_integer("filter_capacity", 50); |
nothing calls this directly
no test coverage detected