168 MPSolver(
void ) : MaxBSize( 0 ) , MaxSGLen( 0 ) , CrrSGLen( 0 ) ,
169 NrFi( 1 ) , MPLog( nullptr ) , MPLLvl( 0 ) , MPt( nullptr ) {}
279 const bool UsAvSt =
false )
284 MaxSGLen = Oracle->GetMaxNumVar();
285 CrrSGLen = Oracle->GetNumVar();
286 NrFi = Oracle->GetNrFi();
408 virtual void SetMPLog( std::ostream *outs = 0 ,
const char lvl = 0 ) {
409 if( ( MPLog = outs ) )
742 const bool IncldCnst =
true ) = 0;
860 void MPTime(
double &t_us ,
double &t_ss ) {
862 if( MPt ) MPt->
Read( t_us , t_ss );
1564 throw( std::logic_error(
"ChgCosts not implemented" ) );
1581 throw( std::logic_error(
"ChgCosts not implemented" ) );
1598 throw( std::logic_error(
"ChgCosts not implemented" ) );
1626 std::ostream *MPLog;
Definition FiOracle.h:231
Definition MPSolver.h:121
virtual void RmvItems(void)=0
virtual void AddVars(cIndex NNwVrs)=0
virtual MPStatus SolveMP(void)=0
virtual HpNum ReadLBMult(cIndex wFi=Inf< Index >())=0
virtual void ChgAlfa(cHpRow NewAlfa, cIndex wFi)=0
virtual ~MPSolver()
destructor: deletes the timer. it is virtual, as it must be
Definition MPSolver.h:1609
virtual HpNum ReadFiBLambda(cIndex wFi=Inf< Index >())=0
virtual HpNum ReadSigma(cIndex wFi=Inf< Index >())=0
virtual HpNum ReadDt(cHpNum tt=1)=0
virtual cHpRow ReadLinErr(void)=0
virtual void MakeLambda1(cHpRow Lmbd, HpRow Lmbd1, cHpNum Tau)=0
virtual Index WComponent(cIndex i)=0
virtual void ChgAlfa(cIndex i, cHpNum Ai)=0
virtual void ChangeCurrPoint(cHpNum Tau, cHpRow DFi)=0
virtual HpNum EpsilonD(void)=0
MPSolver(void)
Definition MPSolver.h:168
virtual cHpRow ReadDualEasy(cIndex wFi)
returns the dual variables of the constraints of an easy component
Definition MPSolver.h:776
MPParam
Definition MPSolver.h:142
virtual cLMRow Readd(bool Fulld=false)=0
virtual void SetDim(cIndex MxBSz=0, FiOracle *Oracle=nullptr, const bool UsAvSt=false)
Definition MPSolver.h:278
virtual void ChgAlfa(cHpRow DeltaAlfa)=0
double MPTime(void)
Definition MPSolver.h:880
virtual void ChgSubG(cIndex strt, Index stp, cIndex wFi)=0
virtual HpNum ReadLowerBound(cIndex wFi=Inf< Index >())=0
virtual void AddActvSt(cIndex_Set Addd, cIndex AdDm, cIndex_Set AVrs)=0
virtual cHpRow ReadMult(cIndex_Set &I, Index &D, cIndex wFi=Inf< Index >(), const bool IncldCnst=true)=0
virtual void RmvActvSt(cIndex_Set Rmvd, cIndex RmDm, cIndex_Set AVrs)=0
virtual void ChgLUBD(Index wFi)
Definition MPSolver.h:1597
Index GetCrrSGLen(void)
returns the current subgradient length
Definition MPSolver.h:900
virtual void SetItemBse(cIndex_Set SGBse=0, cIndex SGBDm=0)=0
virtual void ChangeCurrPoint(cLMRow DLambda, cHpRow DFi)=0
virtual Index MaxName(cIndex wFi=Inf< Index >())=0
virtual void SetActvSt(cIndex_Set AVrs=0, cIndex AVDm=0)=0
virtual Index BCSize(cIndex wFi=Inf< Index >())=0
returns the current number of constraints in the bundle.
virtual void SubstItem(cIndex Nm)=0
void MPTime(double &t_us, double &t_ss)
Definition MPSolver.h:860
virtual HpNum ReadGid(cIndex Nm=Inf< Index >())=0
Index GetNrFi(void)
returns the number of components of Fi()
Definition MPSolver.h:905
virtual HpNum ReadDStart(cHpNum tt=1)=0
virtual Index CheckCnst(HpNum &Ai, HpNum &ScPri, cHpRow CrrPnt)=0
virtual Index BSize(cIndex wFi=Inf< Index >())=0
returns the current number of items (of either type) in the bundle.
Index GetMaxBSize(void)
returns the maximum bundle size
Definition MPSolver.h:890
virtual Index NumNNVars(void)
Definition MPSolver.h:947
virtual void Sett(cHpNum tt=1)=0
Index GetMaxSGLen(void)
returns the maximum subgradient length
Definition MPSolver.h:895
virtual SgRow GetItem(cIndex wFi=Inf< Index >())=0
virtual bool IsNN(cIndex i)
Definition MPSolver.h:963
virtual void RmvVars(cIndex_Set whch=0, Index hwmny=0)=0
virtual void ReadZ(LMRow tz, cIndex_Set &I, Index &D, cIndex wFi=Inf< Index >())=0
MPStatus
Definition MPSolver.h:151
virtual void SensitAnals(HpNum &lp, HpNum &cp)=0
virtual void SetItem(cIndex Nm=Inf< Index >())=0
virtual void ChgCosts(Index wFi, cLMRow Lambda)
Definition MPSolver.h:1563
virtual bool IsSubG(cIndex i)=0
virtual void ChgRLHS(Index wFi)
Definition MPSolver.h:1580
virtual cHpRow ReadReducedCostsEasy(cIndex wFi)
returns the reduced costs of the variables of an easy component
Definition MPSolver.h:804
virtual bool ChangesMPSol(void)=0
virtual Index NumBxdVars(void)
Definition MPSolver.h:956
virtual void RmvItem(cIndex i)=0
virtual Index CheckSubG(cHpNum DFi, cHpNum Tau, HpNum &Ai, HpNum &ScPri)=0
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
unsigned int Index
Index in a vector ( >= 0 )
Definition OPTtypes.h:60
cHpNum * cHpRow
read-only array
Definition OPTtypes.h:103
SgNum * SgRow
a subgradient
Definition OPTtypes.h:112
LMNum * LMRow
a vector of Lagrangean Multipliers
Definition OPTtypes.h:130
cLMNum * cLMRow
a read-only vector of LMs
Definition OPTtypes.h:134
static constexpr T Inf(void) noexcept
Inf< T >() = infinity value for T.
Definition OPTUtils.h:357
virtual void SetPar(const int wp, cHpNum value)=0
virtual void CheckIdentical(const bool Chk=true)
Definition MPSolver.h:396
virtual void SetLowerBound(cHpNum LwBnd=- Inf< HpNum >(), cIndex wFi=Inf< Index >())=0
virtual void SetMPTime(const bool TimeIt=true)
Definition MPSolver.h:426
virtual void SetThreads(int nthreads)
Definition MPSolver.h:343
virtual void SetMPLog(std::ostream *outs=0, const char lvl=0)
Definition MPSolver.h:408