argmin

Module core

Source
Expand description

Core functionality Argmin Optimizaton toolbox core

This crate contains the core functionality of argmin. If you just want to run an optimization method, this is not what you are looking for. However, if you want to implement your own solver based on the argmin architecture, you should find all necessary tools here.

Re-exports§

Modules§

Structs§

  • Checkpoint
  • The datastructure which is returned by the next_iter method of the Solver trait.
  • A simple key-value storage
  • Final struct returned by the run method of Executor.
  • This type is necessary in order to be able to implement slog::KV on ArgminKV
  • A logger based on slog
  • The Error type, a wrapper around a dynamic error type.
  • Maintains the state from iteration to iteration of a solver
  • Minimal No-op operator which does nothing, really.
  • Fake Operators for testing No-op operator with free choice of the types
  • Container for observers which acts just like a single Observer by implementing Observe on it.
  • This wraps an operator and keeps track of how often the cost, gradient and Hessian have been computed and how often the modify function has been called. Usually, this is an implementation detail unless a solver is needed within another solver (such as a line search within a gradient descent method), then it may be necessary to wrap the operator in an OpWrapper.
  • Write parameter vectors to file

Enums§

  • Argmin error type
  • Defines at which intervals a checkpoint is saved.
  • This is used to indicate how often the observer will observe the status. Never deactivates the observer, Always and Every(i) will call the observer in every or every ith iteration, respectively. NewBest will call the observer only, if a new best solution is found.
  • Indicates why the optimization algorithm stopped
  • Different kinds of serializers

Traits§

Functions§