Skip to content

Latest commit

 

History

History
62 lines (45 loc) · 1.93 KB

README.md

File metadata and controls

62 lines (45 loc) · 1.93 KB

roboptim-core-config

License LGPL 3 Build Status codecov.io Join the chat at https://gitter.im/roboptim/development

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.

Installing dependencies

This package uses the following extra external tools compared to roboptim-core:

  • yaml-cpp a YAML parser and emitter in C++

YAML configuration example

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.

JSON support

Since YAML is a superset of JSON, equivalent JSON configuration files are also supported.