Helper library used to load RobOptim solver configurations from YAML files.
For now, this library is outside of roboptim-core as it adds an extra dependency, and yaml-cpp may require C++11 for its next release.
This package uses the following extra external tools compared to roboptim-core:
- yaml-cpp a YAML parser and emitter in C++
Configuration files are organized as follows:
# Shared RobOptim parameters
max-iterations: 10
# Parameters specific to Ipopt
ipopt:
output_file: "ipopt.out"
linear_solver: "ma57"
tol: 1.e-3
constr_viol_tol: 1.e-4
acceptable_iter: 1
# Parameters specific to KNITRO
knitro:
xtol: 1.e-5
feastol: 1.e-3
Note that since RobOptim's solver parameters are stored as boost::variant
objects, great care needs to be taken when writing the configuration files. For
instance:
# Parameters specific to Ipopt
ipopt:
# This is treated as an integer (as expected):
acceptable_iter: 10
# This is treated as a double (which is wrong!):
acceptable_iter: 10.
Since YAML is a superset of JSON, equivalent JSON configuration files are also supported.