NDOSolver / FiOracle
Interfaces and Solvers for NonDifferentiable Optimization
Loading...
Searching...
No Matches
Deflection.h
Go to the documentation of this file.
1/*--------------------------------------------------------------------------*/
2/*--------------------------- File Deflection.h ----------------------------*/
3/*--------------------------------------------------------------------------*/
19/*--------------------------------------------------------------------------*/
20/*----------------------------- DEFINITIONS --------------------------------*/
21/*--------------------------------------------------------------------------*/
22
23#ifndef __Deflection
24 #define __Deflection /* self-identification: #endif at the end of the file */
25
26/*--------------------------------------------------------------------------*/
27/*------------------------------ INCLUDES ----------------------------------*/
28/*--------------------------------------------------------------------------*/
29
30#include "SubGrad.h"
31
32/*--------------------------------------------------------------------------*/
33/*----------------------------- NAMESPACE ----------------------------------*/
34/*--------------------------------------------------------------------------*/
35
36namespace NDO_di_unipi_it
37{
38
39 class SubGrad; // forward declaration of class SubGrad
40
41/*--------------------------------------------------------------------------*/
42/*-------------------------- CLASS Deflection ------------------------------*/
43/*--------------------------------------------------------------------------*/
44/*--------------------------- GENERAL NOTES --------------------------------*/
45/*--------------------------------------------------------------------------*/
63{
64/*--------------------------------------------------------------------------*/
65/*----------------------- PUBLIC PART OF THE CLASS -------------------------*/
66/*--------------------------------------------------------------------------*/
67
68 public:
69
70/*--------------------------------------------------------------------------*/
71/*--------------------- PUBLIC METHODS OF THE CLASS ------------------------*/
72/*--------------------------------------------------------------------------*/
73/*---------------------------- CONSTRUCTOR ---------------------------------*/
74/*--------------------------------------------------------------------------*/
84 {
85 if( ! slvr )
86 throw NDOException( "Deflection::Deflection: no subgradient solver " );
87 Solver = slvr;
88
89 VOLLog = 0;
90 VOLLLvl = 0;
91
92 } // end( Deflection::Deflection )
93
95/*-------------------------- OTHER INITIALIZATIONS -------------------------*/
96/*--------------------------------------------------------------------------*/
106 virtual void SetVOLLog( std::ostream *outs = 0 , const char lvl = 0 )
107 {
108 if( ( VOLLog = outs ) )
109 VOLLLvl = lvl;
110 else
111 VOLLLvl = 0;
112 }
113
114/*--------------------------------------------------------------------------*/
117 virtual void Format( void ) {}
118
120/*-------------------- METHODS FOR DEFLECTION COMPUTATION ------------------*/
121/*--------------------------------------------------------------------------*/
132 virtual void NewDEF( void ) = 0;
133
135/*---------------------- METHODS FOR READING RESULTS -----------------------*/
136/*--------------------------------------------------------------------------*/
143 virtual HpNum GetDFLCoeff( void ) = 0;
144
145/*--------------------------------------------------------------------------*/
153 virtual bool DoSS( void ) { return( true ); }
154
155/*--------------------------------------------------------------------------*/
160 virtual HpNum Delta( void ) { return( Inf< HpNum >() ); }
161
163/*------------------------------ DESTRUCTOR --------------------------------*/
164/*--------------------------------------------------------------------------*/
168 virtual ~Deflection() {}
169
171/*---------------------- PROTECTED PART OF THE CLASS -----------------------*/
172/*--------------------------------------------------------------------------*/
173
174 protected:
175
176/*--------------------------------------------------------------------------*/
177/*-------------------------- PROTECTED METHODS -----------------------------*/
178/*--------------------------------------------------------------------------*/
188/*--------------------------------------------------------------------------*/
193
194/*--------------------------------------------------------------------------*/
198
199/*--------------------------------------------------------------------------*/
203
204/*--------------------------------------------------------------------------*/
208
209/*--------------------------------------------------------------------------*/
212 HpNum GetdGk( void );
213
214/*--------------------------------------------------------------------------*/
218
219/*--------------------------------------------------------------------------*/
223
224/*--------------------------------------------------------------------------*/
228
230/*----------------------- PROTECTED DATA STRUCTURES -----------------------*/
231/*--------------------------------------------------------------------------*/
232
234
235 std::ostream *VOLLog;
236
237 char VOLLLvl;
238
239/*--------------------------------------------------------------------------*/
240
241 }; // end( class Deflection )
242
244/*--------------------------------------------------------------------------*/
245/*--------------------------------------------------------------------------*/
246
247}; // end( namespace NDO_di_unipi_it )
248
249/*--------------------------------------------------------------------------*/
250/*--------------------------------------------------------------------------*/
251
252#endif /* Deflection.h included */
253
254/*--------------------------------------------------------------------------*/
255/*------------------------ End File Deflection.h ---------------------------*/
256/*--------------------------------------------------------------------------*/
Definition Deflection.h:63
Deflection(SubGrad *slvr)
Definition Deflection.h:83
virtual void NewDEF(void)=0
virtual HpNum GetDFLCoeff(void)=0
char VOLLLvl
the "level of verbosity"
Definition Deflection.h:237
std::ostream * VOLLog
the output stream object
Definition Deflection.h:235
virtual void SetVOLLog(std::ostream *outs=0, const char lvl=0)
Definition Deflection.h:106
virtual HpNum Delta(void)
Definition Deflection.h:160
SubGrad * Solver
(pointer to) the SubGrad solver
Definition Deflection.h:233
virtual bool DoSS(void)
Definition Deflection.h:153
virtual void Format(void)
Definition Deflection.h:117
FiOracle * GetOracle(void)
Definition FiOracle.h:231
Definition FiOracle.h:66
Definition SubGrad.h:148
double HpNum
"finer" floating point numbers
Definition OPTtypes.h:98
static constexpr T Inf(void) noexcept
Inf< T >() = infinity value for T.
Definition OPTUtils.h:357
Definition Bundle.h:68