Nonconvex constrained optimization
Loading...
Searching...
No Matches
param-complete.cpp File Reference
#include "param-complete.hpp"
#include <alpaqa/config/config.hpp>
#include <alpaqa/implementation/params/params.tpp>
#include <guanaqo/demangled-typename.hpp>
#include <guanaqo/string-util.hpp>
#include <alpaqa/inner/directions/panoc/anderson.hpp>
#include <alpaqa/inner/directions/panoc/convex-newton.hpp>
#include <alpaqa/inner/directions/panoc/lbfgs.hpp>
#include <alpaqa/inner/directions/panoc/structured-lbfgs.hpp>
#include <alpaqa/inner/directions/panoc/structured-newton.hpp>
#include <alpaqa/inner/directions/pantr/newton-tr.hpp>
#include <alpaqa/inner/fista.hpp>
#include <alpaqa/inner/internal/lipschitz.hpp>
#include <alpaqa/inner/internal/panoc-stop-crit.hpp>
#include <alpaqa/inner/panoc.hpp>
#include <alpaqa/inner/pantr.hpp>
#include <alpaqa/inner/zerofpr.hpp>
#include <alpaqa/outer/alm.hpp>
#include <guanaqo/dl-flags.hpp>
#include <alpaqa/inner/panoc-ocp.hpp>
#include <cstdio>
#include <iostream>
#include <numeric>
#include <optional>
#include <stdexcept>
#include <string_view>
#include <alpaqa/params/structs.ipp>
Include dependency graph for param-complete.cpp:

Go to the source code of this file.

Classes

struct  Value
struct  Struct
struct  RootOpts
struct  enum_table< PANOCStopCrit, S >
struct  enum_table< LBFGSStepSize, S >
struct  attribute_table< guanaqo::DynamicLoadFlags, S >
struct  attribute_table< LBFGSParams< Conf >, S >
struct  attribute_table< AndersonAccelParams< Conf >, S >
struct  attribute_table< CBFGSParams< Conf >, S >
struct  attribute_alias_table< CBFGSParams< Conf >, S >
struct  attribute_table< LipschitzEstimateParams< Conf >, S >
struct  attribute_alias_table< LipschitzEstimateParams< Conf >, S >
struct  attribute_table< PANTRParams< Conf >, S >
struct  attribute_table< PANOCParams< Conf >, S >
struct  attribute_table< FISTAParams< Conf >, S >
struct  attribute_table< ZeroFPRParams< Conf >, S >
struct  attribute_table< LBFGSDirectionParams< Conf >, S >
struct  attribute_table< AndersonDirectionParams< Conf >, S >
struct  attribute_table< StructuredLBFGSDirectionParams< Conf >, S >
struct  attribute_table< NewtonTRDirectionParams< Conf >, S >
struct  attribute_table< SteihaugCGParams< Conf >, S >
struct  attribute_table< StructuredNewtonRegularizationParams< Conf >, S >
struct  attribute_table< StructuredNewtonDirectionParams< Conf >, S >
struct  attribute_table< ConvexNewtonRegularizationParams< Conf >, S >
struct  attribute_table< ConvexNewtonDirectionParams< Conf >, S >
struct  attribute_table< ALMParams< Conf >, S >
struct  attribute_table< PANOCOCPParams< Conf >, S >
struct  attribute_table< RootOpts, S >
struct  attribute_table< Struct, S >
struct  Method
struct  MemberGetter
struct  Result

Namespaces

namespace  alpaqa
namespace  alpaqa::params

Typedefs

using func_t = Result(const MemberGetter &)
using dict_t = std::map<std::string_view, Method>

Functions

template<class T>
bool is_leaf ()
template<class T>
Result get_members (const MemberGetter &s)
 Catch-all.
template<class T>
requires requires { attribute_table<T, MemberGetter>::table; }
Result get_members (const MemberGetter &s)
 Struct types.
template<class T>
requires requires { enum_table<T, MemberGetter>::table; }
Result get_members (const MemberGetter &s)
 Enum types.
template<>
Result get_members< bool > (const MemberGetter &s)
 True/false.
void add_root_opts (std::vector< Result::Member > &v)
template<class S>
Result get_results_panoc_like (const MemberGetter &s)
template<class S>
Result get_results_fista_like (const MemberGetter &s)
Result get_results (std::string_view method, const MemberGetter &s)
void print_completion (std::string_view method, std::string_view params)
template<class T>
Result get_members (const MemberGetter &s)
 Catch-all.

Variables

const dict_t methods

Class Documentation

◆ alpaqa::params::Value

struct alpaqa::params::Value
Collaboration diagram for Value:

◆ alpaqa::params::Struct

struct alpaqa::params::Struct
Collaboration diagram for Struct:

◆ alpaqa::params::RootOpts

struct alpaqa::params::RootOpts
Collaboration diagram for RootOpts:
Class Members
Value method
Value out
Value sol
Value x0
Value mul_g0
Value mul_x0
Value num_exp
bool extra_stats
bool show_funcs
Struct problem
DynamicLoadFlags dl_flags

◆ Method

struct Method
Collaboration diagram for Method:
Class Members
func_t * func
string_view doc

◆ MemberGetter

struct MemberGetter
Collaboration diagram for MemberGetter:
Class Members
string_view full_key Full key string, used for diagnostics.
string_view key The subkey to resolve next.
optional< string_view > value The value of the parameter to store.

◆ Result

struct Result
Collaboration diagram for Result:
Class Members
bool leaf
string_view prefix
vector< Member > members

Typedef Documentation

◆ func_t

using func_t = Result(const MemberGetter &)

Definition at line 214 of file param-complete.cpp.

◆ dict_t

using dict_t = std::map<std::string_view, Method>

Definition at line 220 of file param-complete.cpp.

Function Documentation

◆ add_root_opts()

void add_root_opts ( std::vector< Result::Member > & v)

Definition at line 149 of file param-complete.cpp.

Here is the caller graph for this function:

◆ get_results_panoc_like()

template<class S>
Result get_results_panoc_like ( const MemberGetter & s)

Definition at line 157 of file param-complete.cpp.

◆ get_results_fista_like()

template<class S>
Result get_results_fista_like ( const MemberGetter & s)

Definition at line 191 of file param-complete.cpp.

Here is the call graph for this function:

◆ get_results()

Result get_results ( std::string_view method,
const MemberGetter & s )

Definition at line 241 of file param-complete.cpp.

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

◆ print_completion()

void print_completion ( std::string_view method,
std::string_view params )

Definition at line 272 of file param-complete.cpp.

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

◆ get_members()

template<class T>
Result get_members ( const MemberGetter & s)

Catch-all.

Definition at line 47 of file param-complete.cpp.

Here is the caller graph for this function:

Variable Documentation

◆ methods

const dict_t methods
Initial value:
{
{"panoc", {get_results_panoc_like<alpaqa::PANOCSolver<alpaqa::LBFGSDirection<config_t>>>, "PANOC + LBFGS solver (default)"}},
{"panoc.struclbfgs", {get_results_panoc_like<alpaqa::PANOCSolver<alpaqa::StructuredLBFGSDirection<config_t>>>, "PANOC + Structured LBFGS solver"}},
{"panoc.anderson", {get_results_panoc_like<alpaqa::PANOCSolver<alpaqa::AndersonDirection<config_t>>>, "PANOC + Anderson acceleration solver"}},
{"panoc.convex-newton", {get_results_panoc_like<alpaqa::PANOCSolver<alpaqa::ConvexNewtonDirection<config_t>>>, "PANOC + Newton (for convex problems)"}},
{"zerofpr.struclbfgs", {get_results_panoc_like<alpaqa::ZeroFPRSolver<alpaqa::StructuredLBFGSDirection<config_t>>>, "ZeroFPR + Structured LBFGS solver"}},
{"zerofpr.anderson", {get_results_panoc_like<alpaqa::ZeroFPRSolver<alpaqa::AndersonDirection<config_t>>>, "ZeroFPR + Anderson acceleration solver"}},
{"zerofpr.convex-newton", {get_results_panoc_like<alpaqa::PANOCSolver<alpaqa::ConvexNewtonDirection<config_t>>>, "ZeroFPR + Newton (for convex problems)"}},
{"ipopt", {alpaqa::params::get_members<void>, "Ipopt solver"}},
{"qpalm", {alpaqa::params::get_members<void>, "QPALM solver"}},
}
Result get_members(const MemberGetter &s)
Catch-all.
Result get_results_fista_like(const MemberGetter &s)
Result get_results_panoc_like(const MemberGetter &s)

Definition at line 222 of file param-complete.cpp.