alpaqa cmake-targets
Nonconvex constrained optimization
Loading...
Searching...
No Matches
Classes | Functions
Problems

Detailed Description

Classes for defining optimization problems.

Classes

class  BoxConstrProblem< Conf >
 Implements common problem functions for minimization problems with box constraints. More...
 
class  FunctionalProblem< Conf >
 Problem class that allows specifying the basic functions as C++ std::functions. More...
 
class  TypeErasedControlProblem< Conf, Allocator >
 Nonlinear optimal control problem with finite horizon \( N \). More...
 
struct  ProblemWithCounters< Problem >
 Problem wrapper that keeps track of the number of evaluations and the run time of each function. More...
 
class  TypeErasedProblem< Conf, Allocator >
 The main polymorphic minimization problem interface. More...
 
class  UnconstrProblem< Conf >
 Implements common problem functions for minimization problems without constraints. More...
 
class  CasADiProblem< Conf >
 Problem definition for a CasADi problem, loaded from a DLL. More...
 
class  CUTEstProblem
 Wrapper for CUTEst problems loaded from an external shared library. More...
 
class  DLProblem
 Class that loads a problem using dlopen. More...
 
class  DLControlProblem
 Class that loads an optimal control problem using dlopen. More...
 

Functions

template<class Problem >
auto problem_with_counters (Problem &&p)
 Wraps the given problem into a ProblemWithCounters and keeps track of how many times each function is called, and how long these calls took.
 
template<class Problem >
auto problem_with_counters_ref (Problem &p)
 Wraps the given problem into a ProblemWithCounters and keeps track of how many times each function is called, and how long these calls took.
 
template<Config Conf>
void print_provided_functions (std::ostream &os, const TypeErasedProblem< Conf > &problem)
 

Function Documentation

◆ problem_with_counters()

template<class Problem >
auto problem_with_counters ( Problem &&  p)

Wraps the given problem into a ProblemWithCounters and keeps track of how many times each function is called, and how long these calls took.

The wrapper has its own copy of the given problem. Making copies of the wrapper also copies the underlying problem, but does not copy the evaluation counters, all copies share the same counters.

Definition at line 121 of file problem-with-counters.hpp.

◆ problem_with_counters_ref()

template<class Problem >
auto problem_with_counters_ref ( Problem &  p)

Wraps the given problem into a ProblemWithCounters and keeps track of how many times each function is called, and how long these calls took.

The wrapper keeps only a reference to the given problem, it is the responsibility of the caller to make sure that the wrapper does not outlive the original problem. Making copies of the wrapper does not copy the evaluation counters, all copies share the same counters.

Examples
C++/CasADi/Rosenbrock/main.cpp, C++/CustomCppProblem/main.cpp, C++/DLProblem/main.cpp, C++/FortranProblem/main.cpp, and C++/SimpleUnconstrProblem/main.cpp.

Definition at line 134 of file problem-with-counters.hpp.

◆ print_provided_functions()

template<Config Conf>
void print_provided_functions ( std::ostream &  os,
const TypeErasedProblem< Conf > &  problem 
)

Definition at line 834 of file type-erased-problem.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: