Nonconvex constrained optimization
Loading...
Searching...
No Matches
alpaqa::driver Namespace Reference

Namespaces

namespace  anonymous_namespace{fista-driver.cpp}
namespace  anonymous_namespace{panoc-driver.cpp}
namespace  anonymous_namespace{pantr-driver.cpp}
namespace  detail

Classes

struct  AlpaqaSolverStatsCollector
struct  AlpaqaSolverWrapperStats
struct  BenchmarkResults
struct  SolverBuilders
struct  SolverResults
struct  SolverWrapper

Typedefs

using solver_free_func_t
using solver_func_t = std::function<solver_free_func_t>
using SharedSolverWrapper = std::shared_ptr<SolverWrapper>
using solver_builder_func

Functions

template<class InnerSolver>
auto make_alm_solver (InnerSolver &&inner_solver, Options &opts)
template<class InnerSolver>
auto make_inner_solver (Options &opts)
template<class Solver>
SolverResults run_alm_solver (LoadedProblem &problem, Solver &solver, std::ostream &os, unsigned N_exp)
ALPAQA_DRIVERS_EXPORT void print_usage (const char *a0, std::ostream &os)
ALPAQA_DRIVERS_EXPORT void print_version (std::ostream &os)
ALPAQA_DRIVERS_EXPORT std::string store_solution (const fs::path &sol_output_dir, std::ostream &os, BenchmarkResults &results, const SolverWrapper &solver, const alpaqa::Options &opts, std::span< const char *const > argv)
ALPAQA_DRIVERS_EXPORT std::ostream & get_output_stream (alpaqa::Options &opts, std::ofstream &out_fstream, std::ostream &default_stream)
ALPAQA_DRIVERS_EXPORT std::string get_output_paths (alpaqa::Options &opts)
ALPAQA_DRIVERS_EXPORT std::tuple< fs::path, std::string_view > get_problem_path (const char *const *argv)
std::string random_hex_string (auto &&rng)
template<class Clk>
auto timestamp_ms ()
void write_evaluations (std::ostream &os, const EvalCounter &evals)
void write_evaluations (std::ostream &os, const OCPEvalCounter &evals)
void print_results (std::ostream &os, const BenchmarkResults &results)
int main (int argc, const char *argv[])
static auto split_once (std::string_view s, char tok='.')
 Split the string s on the first occurrence of tok.
SharedSolverWrapper make_fista_driver (std::string_view direction, alpaqa::Options &opts)
SharedSolverWrapper make_ipopt_driver (std::string_view, Options &)
SharedSolverWrapper make_lbfgsb_driver (std::string_view, alpaqa::Options &)
SharedSolverWrapper make_panoc_driver (std::string_view direction, alpaqa::Options &opts)
SharedSolverWrapper make_zerofpr_driver (std::string_view direction, alpaqa::Options &opts)
SharedSolverWrapper make_pantr_driver (std::string_view direction, alpaqa::Options &opts)
SharedSolverWrapper make_qpalm_driver (std::string_view, alpaqa::Options &)

Variables

const auto * docs

Typedef Documentation

◆ solver_free_func_t

◆ solver_func_t

using solver_func_t = std::function<solver_free_func_t>

Definition at line 13 of file solver-driver.hpp.

◆ SharedSolverWrapper

using SharedSolverWrapper = std::shared_ptr<SolverWrapper>

Definition at line 23 of file solver-driver.hpp.

◆ solver_builder_func

Initial value:
std::function<SharedSolverWrapper(std::string_view, alpaqa::Options &)>
std::shared_ptr< SolverWrapper > SharedSolverWrapper

Definition at line 25 of file solver-driver.hpp.

Function Documentation

◆ make_alm_solver()

template<class InnerSolver>
auto make_alm_solver ( InnerSolver && inner_solver,
Options & opts )

Definition at line 14 of file alm-driver.hpp.

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

◆ make_inner_solver()

template<class InnerSolver>
auto make_inner_solver ( Options & opts)

Definition at line 30 of file alm-driver.hpp.

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

◆ run_alm_solver()

template<class Solver>
SolverResults run_alm_solver ( LoadedProblem & problem,
Solver & solver,
std::ostream & os,
unsigned N_exp )

Definition at line 58 of file alm-driver.hpp.

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

◆ print_usage()

void print_usage ( const char * a0,
std::ostream & os )

Definition at line 132 of file alpaqa-driver.cpp.

Here is the caller graph for this function:

◆ print_version()

void print_version ( std::ostream & os)

Definition at line 179 of file alpaqa-driver.cpp.

Here is the caller graph for this function:

◆ store_solution()

std::string store_solution ( const fs::path & sol_output_dir,
std::ostream & os,
BenchmarkResults & results,
const SolverWrapper & solver,
const alpaqa::Options & opts,
std::span< const char *const > argv )

Definition at line 251 of file alpaqa-driver.cpp.

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

◆ get_output_stream()

std::ostream & get_output_stream ( alpaqa::Options & opts,
std::ofstream & out_fstream,
std::ostream & default_stream )

Definition at line 222 of file alpaqa-driver.cpp.

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

◆ get_output_paths()

std::string get_output_paths ( alpaqa::Options & opts)

Definition at line 233 of file alpaqa-driver.cpp.

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

◆ get_problem_path()

std::tuple< fs::path, std::string_view > get_problem_path ( const char *const * argv)

Definition at line 240 of file alpaqa-driver.cpp.

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

◆ random_hex_string()

std::string random_hex_string ( auto && rng)
inline

Definition at line 52 of file results.hpp.

Here is the caller graph for this function:

◆ timestamp_ms()

template<class Clk>
auto timestamp_ms ( )

Definition at line 61 of file results.hpp.

Here is the caller graph for this function:

◆ write_evaluations() [1/2]

void write_evaluations ( std::ostream & os,
const EvalCounter & evals )
inline

Definition at line 68 of file results.hpp.

Here is the caller graph for this function:

◆ write_evaluations() [2/2]

void write_evaluations ( std::ostream & os,
const OCPEvalCounter & evals )
inline

Definition at line 99 of file results.hpp.

◆ print_results()

void print_results ( std::ostream & os,
const BenchmarkResults & results )
inline

Definition at line 137 of file results.hpp.

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

◆ main()

int main ( int argc,
const char * argv[] )

Definition at line 34 of file alpaqa-driver-main.cpp.

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

◆ split_once()

auto split_once ( std::string_view s,
char tok = '.' )
static

Split the string s on the first occurrence of tok.

Returns ("", s) if tok was not found.

Definition at line 213 of file alpaqa-driver.cpp.

◆ make_fista_driver()

SharedSolverWrapper make_fista_driver ( std::string_view direction,
alpaqa::Options & opts )

Definition at line 46 of file fista-driver.cpp.

◆ make_ipopt_driver()

SharedSolverWrapper make_ipopt_driver ( std::string_view ,
Options &  )

Definition at line 164 of file ipopt-driver.cpp.

◆ make_lbfgsb_driver()

SharedSolverWrapper make_lbfgsb_driver ( std::string_view ,
alpaqa::Options &  )

Definition at line 80 of file lbfgsb-driver.cpp.

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

◆ make_panoc_driver()

SharedSolverWrapper make_panoc_driver ( std::string_view direction,
alpaqa::Options & opts )

Definition at line 78 of file panoc-driver.cpp.

Here is the caller graph for this function:

◆ make_zerofpr_driver()

SharedSolverWrapper make_zerofpr_driver ( std::string_view direction,
alpaqa::Options & opts )

Definition at line 83 of file panoc-driver.cpp.

◆ make_pantr_driver()

SharedSolverWrapper make_pantr_driver ( std::string_view direction,
alpaqa::Options & opts )

Definition at line 69 of file pantr-driver.cpp.

◆ make_qpalm_driver()

SharedSolverWrapper make_qpalm_driver ( std::string_view ,
alpaqa::Options &  )

Definition at line 215 of file qpalm-driver.cpp.

Variable Documentation

◆ docs

const auto* docs

Definition at line 49 of file alpaqa-driver.cpp.