PANOC-ALM  quadratic-penalty
Nonconvex constrained optimization
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
PANOCSolverFull< DirectionProviderT > Class Template Reference

#include <panoc-alm/inner/decl/panoc.hpp>

Detailed Description

template<class DirectionProviderT>
class pa::PANOCSolverFull< DirectionProviderT >

Definition at line 155 of file inner/decl/panoc.hpp.

+ Collaboration diagram for PANOCSolverFull< DirectionProviderT >:

Public Types

using Params = PANOCParams
 
using DirectionProvider = DirectionProviderT
 
using Stats = PANOCStats
 
using ProgressInfo = PANOCFullProgressInfo
 

Public Member Functions

 PANOCSolverFull (Params params, PANOCDirection< DirectionProvider > &&direction_provider)
 
 PANOCSolverFull (Params params, const PANOCDirection< DirectionProvider > &direction_provider)
 
Stats operator() (const ProblemFull &problem, crvec Σ1, crvec Σ2, real_t ε, bool always_overwrite_results, rvec x, rvec y, rvec err_z1, rvec err_z2, std::chrono::microseconds time_remaining=std::chrono::microseconds(0))
 
PANOCSolverFullset_progress_callback (std::function< void(const ProgressInfo &)> cb)
 
std::string get_name () const
 
void stop ()
 
const Paramsget_params () const
 

Public Attributes

PANOCDirection< DirectionProviderdirection_provider
 

Private Attributes

Params params
 
AtomicStopSignal stop_signal
 
std::function< void(const ProgressInfo &)> progress_cb
 

Member Typedef Documentation

◆ Params

Definition at line 157 of file inner/decl/panoc.hpp.

◆ DirectionProvider

using DirectionProvider = DirectionProviderT

Definition at line 158 of file inner/decl/panoc.hpp.

◆ Stats

using Stats = PANOCStats

Definition at line 159 of file inner/decl/panoc.hpp.

◆ ProgressInfo

Definition at line 160 of file inner/decl/panoc.hpp.

Constructor & Destructor Documentation

◆ PANOCSolverFull() [1/2]

PANOCSolverFull ( Params  params,
PANOCDirection< DirectionProvider > &&  direction_provider 
)
inline

Definition at line 162 of file inner/decl/panoc.hpp.

◆ PANOCSolverFull() [2/2]

PANOCSolverFull ( Params  params,
const PANOCDirection< DirectionProvider > &  direction_provider 
)
inline

Definition at line 165 of file inner/decl/panoc.hpp.

Member Function Documentation

◆ operator()()

PANOCSolverFull< DirectionProviderT >::Stats operator() ( const ProblemFull problem,
crvec  Σ1,
crvec  Σ2,
real_t  ε,
bool  always_overwrite_results,
rvec  x,
rvec  y,
rvec  err_z1,
rvec  err_z2,
std::chrono::microseconds  time_remaining = std::chrono::microseconds(0) 
)
Parameters
[in]problemProblem description
[in]Σ1Constraint weights \( \Sigma \)
[in]Σ2Constraint weights \( \Sigma \)
[in]εTolerance \( \varepsilon \)
[in]always_overwrite_resultsOverwrite x, y and err_z even if not converged
[in,out]xDecision variable \( x \)
[in,out]yLagrange multipliers \( y \)
[out]err_z1Slack variable error \( g(x) - z \)
[out]err_z2Slack variable error \( g(x) - z \)
[in]time_remainingTime remaining

Definition at line 329 of file inner/panoc.hpp.

+ Here is the call graph for this function:

◆ set_progress_callback()

PANOCSolverFull& set_progress_callback ( std::function< void(const ProgressInfo &)>  cb)
inline

Definition at line 181 of file inner/decl/panoc.hpp.

◆ get_name()

std::string get_name

Definition at line 323 of file inner/panoc.hpp.

◆ stop()

void stop ( )
inline

Definition at line 188 of file inner/decl/panoc.hpp.

◆ get_params()

const Params& get_params ( ) const
inline

Definition at line 190 of file inner/decl/panoc.hpp.

Member Data Documentation

◆ params

Params params
private

Definition at line 193 of file inner/decl/panoc.hpp.

◆ stop_signal

AtomicStopSignal stop_signal
private

Definition at line 194 of file inner/decl/panoc.hpp.

◆ progress_cb

std::function<void(const ProgressInfo &)> progress_cb
private

Definition at line 195 of file inner/decl/panoc.hpp.

◆ direction_provider

PANOCDirection<DirectionProvider> direction_provider

Definition at line 198 of file inner/decl/panoc.hpp.


The documentation for this class was generated from the following files: