3 #ifndef CONICBUNDLE_SOCDATA_HXX 4 #define CONICBUNDLE_SOCDATA_HXX 143 void clear_model(
bool discard_minorants_only=
false);
int Integer
all integer numbers in calculations and indexing are of this type
Definition: matop.hxx:40
CH_Matrix_Classes::Matrix SOCvecs
collects the barx parts of the old SOCvecs
Definition: SOCData.hxx:81
virtual int store_SOCvec(const CH_Matrix_Classes::Matrix &SOCvec)
if max_old_minorants > 0, it adds the SOCvec cyclically to SOCvecs keeping max_old_minorants of them ...
CH_Matrix_Classes::Integer SOCvecs_max
upper bound on stored SOCvecs
Definition: SOCData.hxx:82
double Real
all real numbers in calculations are of this type
Definition: matop.hxx:50
virtual int get_latest_minorants(MinorantBundle &latest_minorants, CH_Matrix_Classes::Integer max_number)
return the max_number latest minorants if available;
MinorantPointer center_minorant
if not empty it matches center_SOCvec
Definition: SOCData.hxx:61
CH_Matrix_Classes::Matrix center_SOCvec
the SOCvector generating center_SOCval
Definition: SOCData.hxx:60
Interface for extending a Minorant, e.g., in Lagrangian Relaxation of cutting plane approaches...
Definition: CBSolver.hxx:490
implements (as a derived class of ConeModel) a cutting model for a SOCOracle
Definition: SOCModel.hxx:44
MinorantPointer cand_minorant
if not empty, it matches cand_SOCvec
Definition: SOCData.hxx:70
CH_Matrix_Classes::Matrix primalvec
current aggregate soc vector (includes function_factor and function_task); if not valid it has coldim...
Definition: SOCData.hxx:75
CH_Matrix_Classes::Real center_SOCval
lower bound on the center value
Definition: SOCData.hxx:59
int init(const BundleData *bd)
if bd is of type SOCData, initialize to this data
CH_Matrix_Classes::Matrix bundlevecs
the columns span the subspace of the SOC face (the bundle is initialized if bundlevecs.coldim()>0)
Definition: SOCData.hxx:78
conic bundle method solver for sum of convex functions. See the ConicBundle_Manual for a quick introd...
Definition: CBSolver.hxx:22
int synchronize_ids(CH_Matrix_Classes::Integer &new_center_ub_fid, CH_Matrix_Classes::Integer new_center_id, CH_Matrix_Classes::Integer old_center_id, CH_Matrix_Classes::Integer &new_cand_ub_fid, CH_Matrix_Classes::Integer new_cand_id, CH_Matrix_Classes::Integer old_cand_id, CH_Matrix_Classes::Integer &new_aggregate_id, CH_Matrix_Classes::Integer new_prex_id=0)
synchronize ids in any case by discarding inconsistent parts but return number of errors ...
const PrimalData * get_approximate_primal() const
return the PrimalData corresponding to the aggregate
void clear_model_except_bundlevecs()
clear all function evaluations and aggregates, but not the collected subspace information ...
CH_Matrix_Classes::Integer SOCvecs_nexti
points at next "free" column
Definition: SOCData.hxx:83
int call_primal_extender(PrimalExtender &, bool include_candidates=true)
see the last argument of FunctionOracle::evaluate()
CH_Matrix_Classes::Matrix cand_SOCvec
the SOCvector generating cand_SOCval
Definition: SOCData.hxx:69
int do_step(CH_Matrix_Classes::Integer point_id)
if the candidate information is available and consitent for point_id, copy it from cand to center and...
void clear_model(bool discard_minorants_only=false)
clear the cutting model and all function evaluations
Header declaring the class ConicBundle::BundleData (see ConicBundle::SumBlockModel) ...
int form_bundlevecs(CH_Matrix_Classes::Integer max_columns)
starting with aggregate and cand_SOCvec add further ones as needed
Matrix class for real values of type Real
Definition: matrix.hxx:74
FunctionTask
Each function represented by a FunctionModel is equipped with a function_factor (it defaults to 1...
Definition: CBSolver.hxx:221
CH_Matrix_Classes::Real cand_SOCval
lower bound on the candidate value
Definition: SOCData.hxx:68
std::vector< MinorantPointer > MinorantBundle
a bundle is a vector with MinorantPointer entries
Definition: MinorantPointer.hxx:24
BundleData * clone() const
return a pointer to a clone of this
const PrimalData * get_center_primal() const
return the PrimalData corresponding to the aggregate
int apply_modification(const GroundsetModification &, MinorantExtender *mex)
rearrange/extend the minorants according to the given groundset modifications
In Lagrangean relaxation an approximate primal solution can be generated by supplying primal informat...
Definition: CBSolver.hxx:151
SOCData(CH_Matrix_Classes::Real fun_factor=1., FunctionTask fun_task=ObjectiveFunction)
calls clear()
Collects modifications for the unconstrained Groundset for appending, deleting or reassigning variabl...
Definition: GroundsetModification.hxx:32
void clear(CH_Matrix_Classes::Integer start_modification_id=0)
reset to initial state (also used by the default constructor)
extends BundleData for use with SOCModel (see there for the description of the function) by adding in...
Definition: SOCData.hxx:43
Interface for extending PrimalData, e.g., in Lagrangian relaxation of column generation approaches...
Definition: CBSolver.hxx:180
const PrimalData * get_candidate_primal() const
return the PrimalData delivered by the last call of FunctionOracle::evaluate()
base class for use with SumBlockModel for storing and managing essential data of evaluations and the ...
Definition: BundleData.hxx:77
points to MinorantUseData that may be shared by many and allows computations with Minorants ...
Definition: MinorantPointer.hxx:34
void clear_aggregates()
delete all kinds of aggregates but keep explicit parts of the cutting model