Skip to content

Helper library used to load RobOptim solver configurations from YAML files

License

Notifications You must be signed in to change notification settings

roboptim/roboptim-core-config

Repository files navigation

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.

About

Helper library used to load RobOptim solver configurations from YAML files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published