37 #ifndef __BB_PARA_NODES_MERGER_H__ 38 #define __BB_PARA_NODES_MERGER_H__ 50 class BbParaDiffSubproblem;
145 int inNBoundChangesOfBestNode,
151 varIndexRange(inVarIndexRange),
152 nBoundChangesOfBestNode(inNBoundChangesOfBestNode),
153 paraTimer(inParaTimer),
154 instance(inParaInstance),
155 paraParamSet(inParaParamSet),
159 addingNodeToMergeStructTime(0.0),
160 generateMergeNodesCandidatesTime(0.0),
161 regenerateMergeNodesCandidatesTime(0.0),
164 assert( varIndexRange > 0 );
165 varIndexTable =
new BbParaFixedValuePtr[varIndexRange];
166 for(
int i = 0; i < varIndexRange; i++ )
168 varIndexTable[i] = 0;
182 void addNodeToMergeNodeStructs(
189 void generateMergeNodesCandidates(
197 void regenerateMergeNodesCandidates(
206 void deleteMergeNodeInfo(
226 return addingNodeToMergeStructTime;
236 return generateMergeNodesCandidatesTime;
246 return regenerateMergeNodesCandidatesTime;
256 return mergeNodeTime;
263 #endif // __BB_PARA_NODES_MERGER_H__ BbParaFixedVariable * prev
pointer to the previous node which has the same fixed value
BbParaFixedVariable * head
point the head of the ParaFixedVariable
representative node for merging
int nMergedNodes
the number of merged nodes with this node.
double generateMergeNodesCandidatesTime
accumulate time to generate merge nodes candidates
double value
value for a fixed variable
BbParaInstance * instance
pointer to ParaInstance object
static ScipParaInitiator * paraInitiator
BbParaFixedVariable * fixedVariables
array of fixed variable info
double getRegenerateMergeNodesCandidatesTime()
getter of regenerateMergeNodesCandidatesTime
int nBoundChangesOfBestNode
bound changes of the best node
int index
index of the variable among all solvers
BbParaMergeNodeInfo * mnode
pointer to merge node info struct to which this info is belonging
merged node list element stract
int nSameValue
the number of same value fixed variables in the following nodes
ParaTimer * paraTimer
normal timer used
double getAddingNodeToMergeStructTime()
getter of addingNodeToMergeStructTime
BbParaMergeNodeInfo * mergeInfoTail
tail of BbParaMergeNodeInfo list times
double addingNodeToMergeStructTime
accumulate time to add Node to merge struct
BbParaDiffSubproblem * origDiffSubproblem
original DiffSubproblem */
BbParaFixedVariable * fixedVariable
pointer to the fixedVariable
Parameter set for UG framework.
int keyIndex
The fixedVar of this index can reach all merging nodes.
double mergeNodeTime
accumulate time to make a merged node
BbParaMergedNodeListElement * next
pointer to the next ParaMergedNodeListElement
Class for the difference between instance and subproblem.
BbParaNode * node
pointer to BbParaNode object
BbParaFixedVariable * next
pointer to the next node which has the same fixed value
BbParaFixedVariable * tail
point the tail of the ParaFixedVarialbe
BbParaDiffSubproblem * mergedDiffSubproblem
merged DiffSubproblem, in case this node is merged and this is the head */
int varIndexRange
variable index range
BbParaFixedValue * next
point next ParaFixedValue struct
BbParaNodesMerger(int inVarIndexRange, int inNBoundChangesOfBestNode, ParaTimer *inParaTimer, BbParaInstance *inParaInstance, ParaParamSet *inParaParamSet)
int idxInFixedVariabes
index in the fixedVariables array
Base class of initiator that maintains original problem and incumbent solution.
BbParaMergeNodeInfo * mergeInfoHead
head of BbParaMergeNodeInfo list
ParaParamSet * paraParamSet
pointer to ParaParamSet object
struct BbParaFixedValue_ * BbParaFixedValuePtr
int nFixedVariables
the number of fixed variables
checking possibility to merge with the other nodes
double getMergeNodeTime()
getter of mergeNodeTime
BbParaFixedValue ** varIndexTable
variable indices table.
BbParaMergeNodeInfo * next
pointer to the next ParaMergeNodeInfo */
Merge node information struct.
BbParaMergeNodeInfo * mergedTo
pointer to merge node info to which this node is merged */
cannot merge to the other node
double getGenerateMergeNodesCandidatesTime()
getter of generateMergeNodesCandidatesTime
double regenerateMergeNodesCandidatesTime
accumulate time to regenerate merge nodes candidates
Base class of communicator object.
BbParaNode * paraNode
BbParaNode corresponding to this ParaMergeModeInfo */.
int nSameValueVariables
the number of fixed values which are the same as those of the merged node