template <class T, int N>
class vtb::core::LIPO_solver

Multi-dimensional optimisation of non-convex functions.

  • Uses LIPO algorithm described in [8].

Types
  • using value_type = T
  • using argument_type = Vector< T, N >
  • using scalar_type = T
Methods
  • template <class Func>
    solve(argument_type lbound, argument_type ubound, Func func) const -> argument_type
  • estimate_constant(bool rhs) -> void
  • sample_probability(scalar_type rhs) -> void
  • max_iterations(int rhs) -> void
  • max_evaluations(int rhs) -> void
  • function_precision(value_type rhs) -> void
  • argument_precision(argument_type rhs) -> void
  • constant(value_type rhs) -> void
  • estimate_constant() const -> bool

    Estimate Lipschitz constant or not.

  • sample_probability() const -> scalar_type

    Probability of choosing exploration step over exploitation step.

  • max_iterations() const -> int

    Maximum number of iterations of the main loop.

  • max_evaluations() const -> int

    Maximum number of function evaluations.

  • function_precision() const -> value_type

    Function precision.

  • argument_precision() const -> argument_type

    Argument precision.

  • constant() const -> value_type

    Lipschitz constant (one for each dimension).