45 #define VOLLOG( l , x ) if( VOLLLvl > l ) *VOLLog << x
46 #define VOLLOG2( l , c , x ) if( ( VOLLLvl > l ) && c ) *VOLLog << x
48 #define VOLLOG( l , x )
49 #define VOLLOG2( l , c , x )
125 inline void SetVOLLog( ostream *outs = 0 ,
const char lvl = 0 );
127 inline void Format(
void );
135 inline void NewDEF(
void );
149 throw(
NDOException(
"PrimalDual::GetLev: not allowed" ) );
156 throw(
NDOException(
"PrimalDual::GetBeta: not allowed" ) );
163 throw(
NDOException(
"PrimalDual::SetMaxBeta: not allowed" ) );
176 inline void UpdateGamma(
void );
203inline void PrimalDual::SetVOLLog( ostream *outs ,
const char lvl )
210 *
VOLLog << endl <<
"PrimalDual: Simple averages ";
212 *
VOLLog << endl <<
"PrimalDual: Weighted averages ";
226 if( LipTmp != LipCnst )
242 if( LipTmp != LipCnst )
250 StepSize = Tmpdelta / ( gamma * beta1 );
252 VOLLOG( 1, endl <<
" Delta = " << Tmpdelta <<
" ~ Beta = "
253 << beta1 <<
" ~ gamma = " << gamma );
256 beta1 = ( beta1 + 1/beta1 );
265 throw(
NDOException(
"PrimalDual::GetStepsize: this is not allowed" ) );
280 Tmpdelta = delta + vk;
288 return( vk / Tmpdelta );
293inline void PrimalDual::UpdateGamma(
void )
299 gamma =
LpsFct * ( std::sqrt( LipCnst / 2.0 ) / tStar );
301 gamma =
LpsFct / ( std::sqrt( 2.0 * LipCnst ) * tStar );
Definition Deflection.h:63
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
SubGrad * Solver
(pointer to) the SubGrad solver
Definition Deflection.h:233
virtual void Format(void)
Definition Deflection.h:117
FiOracle * GetOracle(void)
virtual HpNum GetGlobalLipschitz(cIndex wFi=Inf< Index >())
Definition FiOracle.h:778
Definition PrimalDual.h:90
HpNum GetLev(void)
Definition PrimalDual.h:147
HpNum GetBeta(void)
Definition PrimalDual.h:154
HpNum GetDFLCoeff(void)
Definition PrimalDual.h:286
void NewDEF(void)
Definition PrimalDual.h:273
void SetMaxBeta(const HpNum alpha)
Definition PrimalDual.h:161
void Format(void)
Definition PrimalDual.h:221
PrimalDual(SubGrad *slvr, istream *iStrm=0)
Definition PrimalDual.h:115
void NewStep(void)
Definition PrimalDual.h:236
HpNum LpsFct
scaling factor
Definition Stepsize.h:349
void GetPar(const int wp, int &value)
Definition SubGrad.h:825
double HpNum
"finer" floating point numbers
Definition OPTtypes.h:98
void DfltdSfInpt(istream *iStrm, T &Param, const T Dflt, const char cmntc='#')
Definition OPTUtils.h:392