120#define SIGNAL_MBCHG 0
122#define SIGNAL_B2CHG 0
289 void SetBMQLog( ostream *log = 0 )
294 *BMQLog <<
"BMinQuad: " << SpaceDim <<
" variables." << endl << endl;
335 RealAlfa[ i ] += DeltaAlfai;
531 char UBVar(
void ) {
return( 12 ); }
628 void MakeVarUnCnstr(
cIndex i );
660 LMRow GettmpD(
void ) {
return( tmpdi ); }
707 tS += (*tM) * RealAlfa[ h ];
890 BMQt->
Read( t_us , t_ss );
903 HpNum EpsilonD(
void ) {
return( eD ); }
1125 const bool add ) = 0;
1139 virtual void MBHasChgd(
void ) = 0;
1146 virtual void B2HasChgd(
void ) = 0;
1201 void CalcOptDir(
HpNum ti );
1223 void ClearTabooList(
void );
1227 void MemDealloc(
void );
1231 void CheckB2(
void );
1233 void CheckMB2(
void );
1235 void CheckGS(
void );
1237 void CheckRA(
void );
1239 void CheckDS(
void );
1272 std::ostream *BMQLog;
1275 unsigned long int BCalls;
1276 unsigned long int BSccss;
Definition BMinQuad.h:212
char UBVar(void)
mask for variables with uppper bound, used in InitialSetUp()
Definition BMinQuad.h:531
Index MB2Dim
Dimension of MBase2 ( <= SpaceDim - B2Dim )
Definition BMinQuad.h:1181
void MakeVarCnstr(cIndex i)
virtual void GiTG(cIndex i, QuRow Qi, cIndex iMax)=0
virtual cSgRow GiTilde(cIndex i)=0
virtual void SetBMQTime(const bool TimeIt=true)
Definition BMinQuad.h:307
MQError SolveQP(HpNum ti)
char IsVar(void)
mask for existing variables, used in InitialSetUp()
Definition BMinQuad.h:519
void ChangeAlfa(cHpNum DeltaAlfa)
void ReadAlfa(HpRow NewAlfa)
void AddD(LMRow L1, cLMRow L2, cHpNum Tau)
char AcVar(void)
mask for active variables, used in InitialSetUp()
Definition BMinQuad.h:524
void MoveAlongD(cHpNum Tau, cHpNum DeltaFi)
void AddSubGrad(cIndex n, cHpNum alfan)
HpNum ReadSigma(const bool IncldCnst=true)
Definition BMinQuad.h:697
void ReadD(LMRow d, cIndex CpyFrst=0)
Index_Set Base2
Definition BMinQuad.h:1174
virtual void CalculateZ(LMRow z)=0
void SetGTz(cIndex i, cHpNum GTzi)
virtual LMNum GiTLB(cIndex i, cLMRow l, cIndex_Set lB, cIndex lBd)=0
void ChangeAlfa(cIndex i, cHpNum DeltaAlfai)
Definition BMinQuad.h:332
void SetMaxVarAdd(cIndex MVA=1)
Definition BMinQuad.h:267
void SetMaxVarRmv(cIndex MVR=1)
Definition BMinQuad.h:279
void SensitAnals1(HpNum &v1, HpNum &v2, HpNum &v3)
Index ReadVNames(Index_Set VNames)
LMRow SetD(void)
Definition BMinQuad.h:390
char * GetVars(void)
Definition BMinQuad.h:830
cLMRow ReadZ(void)
Definition BMinQuad.h:735
Index AVDim(void)
Returns the size of the set of "active" variables, see ActiveVars().
Definition BMinQuad.h:795
void MoveVar(cIndex i, cIndex j, const bool iIsLst=true)
void SettmpD(LMRow td)
Definition BMinQuad.h:658
void AddVars(cIndex_Set whch, cIndex hwmny)
void RemoveVars(cIndex_Set whch, Index hwmny)
Index_Set MBase2
Definition BMinQuad.h:1178
LMRow LowerBounds(void)
Definition BMinQuad.h:398
virtual ~BMinQuad()
Memory deallocation. Statistics (if any) are printed.
LMRow UpperBounds(void)
Definition BMinQuad.h:415
cIndex_Set ActiveVars(void)
Definition BMinQuad.h:790
void SetEpsilonD(HpNum NeweD=0)
virtual void GiTLB(HpRow gtlb, cLMRow l, cIndex_Set lB, cIndex lBd, const bool add)=0
char NNVar(void)
mask for variables with lower bound, used in InitialSetUp()
Definition BMinQuad.h:514
Index IAVDim(void)
Returns the size of the set of "inactive" variables, see InActiveVars().
Definition BMinQuad.h:809
char GetVar(cIndex i)
Definition BMinQuad.h:822
void AddVars(cIndex strt, cIndex hwmny)
Index B2Dim
Dimension of Base2.
Definition BMinQuad.h:1176
void BMQTime(double &t_us, double &t_ss)
Returns the user and sistem time in seconds spent so far by SolveQP()
Definition BMinQuad.h:886
void RecomputeRealAlfa(void)
cHpRow ReadAlfa(void)
Definition BMinQuad.h:373
void SetD(Index i, LMNum Di)
Definition BMinQuad.h:384
void AddConstr(cIndex n, cHpNum alfan)
void SetMaxDim(Index m, Index n, Index SDim)
void RenameVars(cIndex_Set whch)
double BMQTime(void)
Returns the total time in seconds spent so far by SolveQP()
Definition BMinQuad.h:896
Index_Set MvdVars
Definition BMinQuad.h:1183
cIndex_Set InActiveVars(void)
Definition BMinQuad.h:804
HpNum ReadzNorm(void)
Definition BMinQuad.h:681
void AddDSprs(LMRow L1, cLMRow L2, cHpNum Tau)
Index_Set Base
Base (set of strictly positive variables)
Definition MinQuad.h:1101
virtual void ChangeAlfa(cIndex i, cHpNum DeltaAlfai)
Definition MinQuad.h:501
bool IsAConst(cIndex n)
Returns true if the item with "name" 'n' is a constraint.
Definition MinQuad.h:467
MQError
Definition MinQuad.h:209
Index ReadCBDim(void)
Definition MinQuad.h:853
HpNum PrvsTi
Value of ti in the latest call of CalcOptDir()
Definition MinQuad.h:1110
HpRow Mult
Primal variables.
Definition MinQuad.h:1100
HpNum Lin
Alfa^T * Mult.
Definition MinQuad.h:1104
HpNum Quad
Mult^T * Q * Mult.
Definition MinQuad.h:1103
Definition OPTUtils.h:144
void ReSet(void)
reset the timer
Definition OPTUtils.h:214
double Read(void)
Definition OPTUtils.h:184
HpNum * HpRow
"finer" (fp) array
Definition OPTtypes.h:99
const HpNum cHpNum
a read-only HpNum
Definition OPTtypes.h:102
double HpNum
"finer" floating point numbers
Definition OPTtypes.h:98
const Index cIndex
a read-only Index
Definition OPTtypes.h:64
cIndex * cIndex_Set
read-only array
Definition OPTtypes.h:65
Index * Index_Set
set (array) of indices
Definition OPTtypes.h:61
unsigned int Index
Index in a vector ( >= 0 )
Definition OPTtypes.h:60
cHpNum * cHpRow
read-only array
Definition OPTtypes.h:103
LMNum * LMRow
a vector of Lagrangean Multipliers
Definition OPTtypes.h:130
double LMNum
a Lagrangean Multiplier
Definition OPTtypes.h:129
cLMNum * cLMRow
a read-only vector of LMs
Definition OPTtypes.h:134
double QuNum
numbers in Q ( G{i}{T} * G{j} )
Definition OPTtypes.h:120
QuNum * QuRow
row of Q
Definition OPTtypes.h:121
cSgNum * cSgRow
a read-only subgradient
Definition OPTtypes.h:116
static constexpr T Inf(void) noexcept
Inf< T >() = infinity value for T.
Definition OPTUtils.h:357
Definition BMinQuad.h:157