|
Janus 2.0.0
High-performance C++20 dual-mode numerical framework
|
Options for solving optimization problems. More...
#include <OptiOptions.hpp>

Public Member Functions | |
| OptiOptions & | set_max_iter (int v) |
| Set maximum iterations. | |
| OptiOptions & | set_max_cpu_time (double v) |
| Set maximum CPU time. | |
| OptiOptions & | set_tol (double v) |
| Set convergence tolerance. | |
| OptiOptions & | set_verbose (bool v) |
| Set verbosity. | |
| OptiOptions & | set_jit (bool v) |
| Enable or disable JIT compilation. | |
| OptiOptions & | set_detect_simple_bounds (bool v) |
| Enable simple bound detection. | |
| OptiOptions & | set_mu_strategy (const std::string &v) |
| Set IPOPT barrier parameter strategy. | |
| OptiOptions & | set_solver (Solver v) |
| Set the NLP solver. | |
| OptiOptions & | set_snopt_opts (const SNOPTOptions &v) |
| Set SNOPT-specific options. | |
Public Attributes | |
| Solver | solver = Solver::Ipopt |
| NLP solver to use. | |
| SNOPTOptions | snopt_opts |
| SNOPT-specific options (if solver=SNOPT). | |
| int | max_iter = 1000 |
| Maximum iterations. | |
| double | max_cpu_time = 1e20 |
| Maximum solve time [seconds]. | |
| double | tol = 1e-8 |
| Convergence tolerance. | |
| bool | verbose = true |
| Print solver progress. | |
| bool | jit = false |
| JIT compile expressions (experimental). | |
| bool | detect_simple_bounds = false |
| Detect simple variable bounds. | |
| std::string | mu_strategy = "adaptive" |
| Barrier parameter strategy (IPOPT). | |
Options for solving optimization problems.
Configures solver behavior. Most users can use defaults.
Usage (designated initializers - must follow declaration order): opti.solve({.max_iter = 500, .verbose = false});
Usage (builder pattern - any order): opti.solve(OptiOptions{}.set_verbose(false).set_max_iter(500));
Usage (alternative solver): opti.solve({.solver = janus::Solver::Snopt});
|
inline |
Enable simple bound detection.
| v | true to enable |
|
inline |
Enable or disable JIT compilation.
| v | true to enable JIT (experimental) |
|
inline |
Set maximum CPU time.
| v | time limit in seconds |
|
inline |
Set maximum iterations.
| v | iteration limit |
|
inline |
Set IPOPT barrier parameter strategy.
| v | strategy name (e.g. "adaptive", "monotone") |
|
inline |
Set SNOPT-specific options.
| v | SNOPT options struct |
|
inline |
Set the NLP solver.
| v | solver enum value |
|
inline |
Set convergence tolerance.
| v | tolerance value |
|
inline |
Set verbosity.
| v | true to print solver progress |
| bool janus::OptiOptions::detect_simple_bounds = false |
Detect simple variable bounds.
| bool janus::OptiOptions::jit = false |
JIT compile expressions (experimental).
| double janus::OptiOptions::max_cpu_time = 1e20 |
Maximum solve time [seconds].
| int janus::OptiOptions::max_iter = 1000 |
Maximum iterations.
| std::string janus::OptiOptions::mu_strategy = "adaptive" |
Barrier parameter strategy (IPOPT).
| SNOPTOptions janus::OptiOptions::snopt_opts |
SNOPT-specific options (if solver=SNOPT).
| Solver janus::OptiOptions::solver = Solver::Ipopt |
NLP solver to use.
| double janus::OptiOptions::tol = 1e-8 |
Convergence tolerance.
| bool janus::OptiOptions::verbose = true |
Print solver progress.