#include <scipParaSolver.h>
Public Member Functions | |
ScipParaSolver (int argc, char **argv, UG::ParaComm *comm, UG::ParaParamSet *paraParamSet, UG::ParaInstance *inParaInstance, UG::ParaDeterministicTimer *detTimer) | |
ScipParaSolver (int argc, char **argv, UG::ParaComm *comm, UG::ParaParamSet *paraParamSet, UG::ParaInstance *inParaInstance, UG::ParaDeterministicTimer *detTimer, double timeOffset, bool thread) | |
ScipParaSolver (int argc, char **argv, int nhanders, UG::ParaComm *comm, UG::ParaParamSet *paraParamSet, UG::ParaInstance *paraInstance, UG::ParaDeterministicTimer *detTimer) | |
ScipParaSolver (int argc, char **argv, int nhanders, UG::ParaComm *comm, UG::ParaParamSet *paraParamSet, UG::ParaInstance *paraInstance, UG::ParaDeterministicTimer *detTimer, double timeOffset, bool thread) | |
virtual | ~ScipParaSolver () |
const char * | getChangeNodeSelName () |
int | getOriginalPriority () |
void | saveOriginalPriority () |
void | setOriginalPriority () |
void | setOriginalMaxRestart () |
int | getOriginalMaxRestart () |
ScipParaDiffSubproblem * | getParentDiffSubproblem () |
void | writeCurrentTaskProblem (const std::string &filename) |
void | tryNewSolution (UG::ParaSolution *sol) |
void | setLightWeightRootNodeProcess () |
void | setOriginalRootNodeProcess () |
int | getOffsetDepth () |
SCIP * | getScip () |
std::list< LocalNodeInfoPtr > * | getConflictConsList () |
void | writeSubproblem () |
long long | getSimplexIter () |
int | getNRestarts () |
void | setUserPlugins (ScipUserPlugins *inUi) |
void | includeUserPlugins (SCIP *inScip) |
bool | wasTerminatedNormally () |
void | setProblemFileName (const char *fileName) |
bool | isCollectingModeProhibited () |
void | allowCollectingMode () |
void | prohibitCollectingMode () |
bool | isOriginalIndeciesMap () |
int | getOriginalIndex (int index) |
bool | isProbIndeciesMap () |
int | getProbIndex (int index) |
long long | getNPreviousNodesLeft () |
void | setNPreviousNodesLeft (long long n) |
int | getNOrgVars () |
double | getOrgVarLb (int i) |
double | getOrgVarUb (int i) |
void | setOrgVarLb (int i, double v) |
void | setOrgVarUb (int i, double v) |
double | getTightenedVarLb (int i) |
double | getTightenedVarUb (int i) |
void | setTightenedVarLb (int i, double v) |
void | setTightenedVarUb (int i, double v) |
void | checkVarsAndIndex (const char *string, SCIP *inScip) |
int | getNTightened () |
int | getNTightenedInt () |
bool | isCopyIncreasedVariables () |
void | copyIncrasedVariables () |
void | issueInterruptSolve () |
bool | isInterrupting () |
int | processTagInterruptRequest (int source, int tag) |
Public Member Functions inherited from BbParaSolver | |
BbParaSolver () | |
constructor More... | |
BbParaSolver (int argc, char **argv, int nHandlers, ParaComm *comm, ParaParamSet *inParaParamSet, ParaInstance *paraInstance, ParaDeterministicTimer *detTimer) | |
constructor More... | |
virtual | ~BbParaSolver () |
destructor More... | |
ParaComm * | getParaComm () |
get paraParaComm More... | |
virtual void | run () |
virtual void | run (ParaRacingRampUpParamSet *inRacingRampUpParamSet) |
run this Solver with ParaNode object More... | |
double | getElapsedTimeOfNodeSolving () |
the following functions may be called from callback routines of the target Solver More... | |
double | getGlobalBestDualBoundValueAtWarmStart () |
get global best dual bound value at warm start (restart) More... | |
double | getLcBestDualBoundValue () |
get LoadCorrdinator best dual bound value More... | |
int | getNStopSolvingMode () |
get number of nodes to stop solving. This number is not used to decide stop solving. It is used a part of conditions. More... | |
double | getTimeStopSolvingMode () |
get time to stop solving. This value is not used to decide stop solving. It is used a part of conditions. More... | |
double | getRootNodeTime () |
get root node computing time More... | |
double | getBoundGapForStopSolving () |
get bound gap for stop solving. This value is not used to decide stop solving. It is used a part of conditions. More... | |
double | getBoundGapForCollectingMode () |
get bound gap for collecting mode More... | |
virtual void | iReceiveMessages () |
non-blocking receive messages More... | |
bool | isGlobalIncumbentUpdated () |
check if global incumbent value is updated or not More... | |
void | globalIncumbnetValueIsReflected () |
set global incumbent value is reflected More... | |
bool | isRacingInterruptRequested () |
check if racing interrupt was requested or not More... | |
bool | isCollecingInterrupt () |
check if collecting interrupt (interrupt with collecting all nodes) is requested or not More... | |
virtual void | setRootNodeTime () |
set root node computing time More... | |
virtual void | sendLocalSolution () |
send solution found in this Solver More... | |
virtual bool | notificationIsNecessary () |
check if a notification message needs to send or not More... | |
virtual void | sendSolverState (long long nNodesSolved, int nNodesLeft, double bestDualBoundValue, double detTime) |
send Solver state to LoadCoordinator More... | |
bool | newParaNodeExists () |
check if a new ParaNode was received or not More... | |
bool | isInCollectingMode () |
check if Solver is in collecting mode or not More... | |
bool | isAggressiveCollecting () |
check if Solver is in aggressive collecting mode or not More... | |
bool | isManyNodesCollectionRequested () |
check if many nodes collection was requested or not More... | |
virtual int | getThresholdValue (int nNodes) |
get threshold value to send ParaNodes to LoadCoordinator More... | |
virtual void | sendParaNode (long long n, int depth, double dualBound, double estimateValue, ParaDiffSubproblem *diffSubproblem) |
send a branch-and-bound node as ParaNode to LoadCoordinator More... | |
virtual void | keepParaNode (long long n, int depth, double dualBound, double estimateValue, ParaDiffSubproblem *diffSubproblem) |
keep a branch-and-bound node as ParaNode to LoadCoordinator More... | |
virtual void | sendAnotherNodeRequest (double bestDualBoundValue) |
send another node request More... | |
bool | getNotificaionProcessed () |
check if Solver is in notification process or not TODO: function name should be changed More... | |
double | getGlobalBestIncumbentValue () |
get global best incumbent value More... | |
ParaTask * | getCurrentNode () |
get current ParaNode object More... | |
ParaInstance * | getParaInstance () |
get ParaInstance object More... | |
ParaParamSet * | getParaParamSet () |
get ParaParamSet object More... | |
virtual int | getRank () |
get rank of this Solver More... | |
void | countInPrecheckSolvedParaNodes () |
count ParaNode solved at root node in pre-check More... | |
virtual void | waitMessageIfNecessary () |
wait a notification id message if it is needed to synchronize with LoadCoordinaor More... | |
int | getNSendInCollectingMode () |
get number of ParaNodes already sent in a collecting mode More... | |
bool | isBreaking () |
check if Solver is in racing stage or not More... | |
double | getTargetBound () |
get target bound for breaking More... | |
bool | isTransferLimitReached () |
check if the number of ParaNodes sent is reached to transfer limit specified More... | |
void | resetBreakingInfo () |
reset breaking information More... | |
bool | isOnceBreak () |
check if once breaking procedure worked or not More... | |
void | setOnceBreak () |
set once braking procedure worked More... | |
bool | isAggressivePresolvingSpecified () |
check if aggressive presolving is specified More... | |
int | getAggresivePresolvingDepth () |
get depth to apply aggressive presolving More... | |
int | getAggresivePresolvingStopDepth () |
get depth to stop aggressive presolving More... | |
int | getSubMipDepth () |
get depth of sub-MIP root node in global search tree More... | |
void | setSendBackAllNodes () |
set counter and flag to indicate that all nodes are sent to LoadCooordinator More... | |
bool | isCollectingAllNodes () |
check if Solver is sending all nodes to LoadCoordinaor or not More... | |
int | getBigDualGapSubtreeHandlingStrategy () |
get big dual gap subtree handling strategy More... | |
bool | isGivenGapReached () |
check if given gap is reached or not More... | |
bool | isIterativeBreakDownApplied () |
check if iterative break down is applied or not More... | |
void | setII (double sum, int count) |
set sum and number of integer infeasibility More... | |
void | setRootNodeSimplexIter (int iter) |
set number of simplex iteration at root node More... | |
bool | waitToken (int rank) |
wait token for deterministic mode More... | |
void | passToken (int rank) |
pass token to the next process More... | |
int | getCurrentSolivingNodeMergingStatus () |
get current solving node merging status More... | |
double | getCurrentSolvingNodeInitialDualBound () |
get initial dual bound of current solving node More... | |
double | getAverageDualBoundGain () |
get average dual bound gain More... | |
void | setNotEnoughGain () |
set dual bound gain is not enough More... | |
bool | isEnoughGainObtained () |
check if dual bound gains enough or not More... | |
bool | isDualBoundGainTestNeeded () |
check if dual bound gain needs to be tested or not More... | |
bool | isRacingRampUp () |
check if this solver is in racing ramp-up or not More... | |
bool | isRacingStage () |
check if Solver is in racing stage or not More... | |
virtual bool | wasTerminatedNormally ()=0 |
check if Solver was terminated normally or not More... | |
virtual void | writeCurrentTaskProblem (const std::string &filename)=0 |
write current node problem (this method is always useful for debugging, so we should implement this method) More... | |
virtual void | tryNewSolution (ParaSolution *sol)=0 |
try to enter solution to base solver environment More... | |
virtual void | setLightWeightRootNodeProcess () |
set light weight root node process More... | |
virtual void | setOriginalRootNodeProcess () |
set original root node process More... | |
virtual void | writeSubproblem ()=0 |
write subproblem More... | |
virtual long long | getSimplexIter ()=0 |
get number of simplex iterations More... | |
virtual int | getNRestarts () |
get number of restarts (Derived class for SCIP should override this function) More... | |
virtual bool | canGenerateSpecialCutOffValue () |
check if base solver can generate special cut off value or not More... | |
double | getCutOffValue () |
get cut off value More... | |
void | updateNTransferredLocalCuts (int n) |
update number of transferred local cuts More... | |
void | updateNTransferredBendersCuts (int n) |
update number of transferred benders cuts More... | |
bool | isAnotherNodeIsRequested () |
check if another node is requested or not More... | |
double | getPendingIncumbentValue () |
get pending incumbent value More... | |
void | setKeepRacing (bool value) |
set keep racing value More... | |
int | getSelfSplitNodesLeft () |
get the number of nodes in slef-split node pool More... | |
virtual bool | sendIfImprovedSolutionWasFound (ParaSolution *sol) |
send improved solution if it was found in this Solver More... | |
virtual bool | saveIfImprovedSolutionWasFound (ParaSolution *sol) |
save improved solution if it was found in this Solver More... | |
virtual void | waitNotificationIdMessage () |
wait notification id message to synchronized with LoadCoordinator More... | |
virtual void | waitAckCompletion () |
wait ack completion to synchronized with LoadCoordinator More... | |
virtual void | issueInterruptSolve () |
issue interrupt to solve More... | |
virtual void | run ()=0 |
run this Solver More... | |
virtual void | run (ParaTask *paraTask) |
run this Solver More... | |
virtual void | run (ParaRacingRampUpParamSet *inRacingRampUpParamSet) |
run this Solver More... | |
Public Member Functions inherited from ParaSolver | |
ParaSolver () | |
constructor More... | |
ParaSolver (int argc, char **argv, int nHandlers, ParaComm *comm, ParaParamSet *inParaParamSet, ParaInstance *paraInstance, ParaDeterministicTimer *detTimer) | |
constructor More... | |
virtual | ~ParaSolver () |
destructor More... | |
ParaComm * | getParaComm () |
get paraParaComm More... | |
bool | isWarmStarted () |
check if current execution is warm start (restart) or not More... | |
virtual void | run ()=0 |
run this Solver More... | |
virtual void | run (ParaTask *paraTask) |
run this Solver with ParaTask object More... | |
virtual void | run (ParaRacingRampUpParamSet *inRacingRampUpParamSet) |
run this solver with racing parameters More... | |
double | getElapsedTimeOfTaskSolving () |
the following functions may be called from callback routines of the target Solver More... | |
virtual void | iReceiveMessages ()=0 |
non-blocking receive messages More... | |
bool | isRampUp () |
check if this solver is ramp-up or not More... | |
bool | isRacingWinner () |
check if this solver is in racing ramp-up or not More... | |
virtual bool | sendIfImprovedSolutionWasFound (ParaSolution *sol) |
send improved solution if it was found in this Solver More... | |
virtual bool | saveIfImprovedSolutionWasFound (ParaSolution *sol) |
save improved solution if it was found in this Solver More... | |
virtual void | sendLocalSolution () |
send solution found in this Solver More... | |
virtual bool | notificationIsNecessary ()=0 |
check if a notification message needs to send or not TODO: function name should be isNotificationNecessary More... | |
bool | isInterrupting () |
check if Solver is in interrupting phase or not More... | |
bool | isTerminationRequested () |
check if termination was requested or not More... | |
bool | newParaTaskExists () |
check if a new ParaTask was received or not More... | |
bool | getNotificaionProcessed () |
check if Solver is in notification process or not TODO: function name should be changed More... | |
ParaTask * | getCurrentTask () |
get current ParaTask object More... | |
ParaInstance * | getParaInstance () |
get ParaInstance object More... | |
ParaParamSet * | getParaParamSet () |
get ParaParamSet object More... | |
virtual int | getRank () |
get rank of this Solver More... | |
virtual void | waitMessageIfNecessary ()=0 |
wait a notification id message if it is needed to synchronize with LoadCoordinaor More... | |
void | terminateRacing () |
terminate racing stage More... | |
ParaSolution * | getGlobalBestIncumbentSolution () |
get global best incumbent solution More... | |
bool | isWaitingForSpecificMessage () |
check if Solver is waiting for a specific message or not More... | |
virtual bool | waitToken (int rank) |
wait token for deterministic mode More... | |
virtual void | passToken (int rank) |
pass token to the next process More... | |
ParaDeterministicTimer * | getDeterministicTimer () |
get deterministic timer object More... | |
double | getOffsetTimeToWaitToken () |
get offset time to wait token More... | |
virtual void | updatePendingSolution () |
update pending solution More... | |
virtual bool | wasTerminatedNormally ()=0 |
check if Solver was terminated normally or not More... | |
virtual void | writeCurrentTaskProblem (const std::string &filename)=0 |
write current task problem (this method is always useful for debugging, so we should implement this method) More... | |
virtual void | tryNewSolution (ParaSolution *sol)=0 |
try to enter solution to base solver environment More... | |
virtual void | writeSubproblem ()=0 |
write subproblem More... | |
void | setPreviousCommTime (double detTime) |
set previous communication time for deterministic execution More... | |
double | getPreviousCommTime () |
get previous communication time for deterministic execution More... | |
void | setTerminationMode (int tm) |
set termination mode More... | |
int | getTerminationMode () |
get termination mode More... | |
Protected Types | |
typedef int(ScipParaSolver::* | ScipMessageHandlerFunctionPointer) (int, int) |
Protected Types inherited from BbParaSolver | |
typedef int(BbParaSolver::* | BbMessageHandlerFunctionPointer) (int, int) |
Protected Types inherited from ParaSolver | |
typedef int(ParaSolver::* | MessageHandlerFunctionPointer) (int, int) |
Protected Member Functions | |
void | setRacingParams (UG::ParaRacingRampUpParamSet *inRacingParams, bool winnerParam) |
void | setWinnerRacingParams (UG::ParaRacingRampUpParamSet *inRacingParams) |
virtual void | createSubproblem () |
virtual void | freeSubproblem () |
virtual void | solve () |
long long | getNNodesSolved () |
int | getNNodesLeft () |
double | getDualBoundValue () |
void | reinitialize () |
void | setOriginalNodeSelectionStrategy () |
void | solveToCheckEffectOfRootNodePreprocesses () |
void | saveOrgProblemBounds () |
void | setBakSettings () |
int | lbBoundTightened (int source, int tag) |
int | ubBoundTightened (int source, int tag) |
void | saveOriginalSettings () |
void | dropSettingsForVariableBoundsExchnage () |
void | recoverOriginalSettings () |
void | saveImprovedSolution () |
Protected Member Functions inherited from BbParaSolver | |
virtual int | processTagTask (int source, int tag) |
process TagNode More... | |
virtual int | processTagTaskReceived (int source, int tag) |
process TagTaskReceived More... | |
virtual int | processTagRampUp (int source, int tag) |
process TagRampUp More... | |
virtual int | processTagSolution (int source, int tag) |
process TagSolution More... | |
virtual int | processTagIncumbentValue (int source, int tag) |
process TagIncumbentValue More... | |
virtual int | processTagNotificationId (int source, int tag) |
process TagNotificationId More... | |
virtual int | processTagTerminateRequest (int source, int tag) |
process TagTerminateRequest More... | |
virtual int | processTagInterruptRequest (int source, int tag) |
process TagInterruptRequest More... | |
virtual int | processTagWinnerRacingRampUpParamSet (int source, int tag) |
process TagWinnerRacingRampUpParamSet More... | |
virtual int | processTagWinner (int source, int tag) |
process TagWinner More... | |
virtual int | processTagToken (int source, int tag) |
process TagToken More... | |
virtual int | processTagRetryRampUp (int source, int tag) |
process TagRetryRampUp More... | |
virtual int | processTagGlobalBestDualBoundValueAtWarmStart (int source, int tag) |
process TagGlobalBestDualBoundValueAtWarmStart More... | |
virtual int | processTagNoNodes (int source, int tag) |
process TagNoNodes More... | |
virtual int | processTagInCollectingMode (int source, int tag) |
process TagInCollectingMode More... | |
virtual int | processTagCollectAllNodes (int source, int tag) |
process TagCollectAllNodes More... | |
virtual int | processTagOutCollectingMode (int source, int tag) |
process TagOutCollectingMode More... | |
virtual int | processTagLCBestBoundValue (int source, int tag) |
process TagLCBestBoundValue More... | |
virtual int | processTagLightWeightRootNodeProcess (int source, int tag) |
process TagLightWeightRootNodeProcess More... | |
virtual int | processTagBreaking (int source, int tag) |
process TagBreaking More... | |
virtual int | processTagGivenGapIsReached (int source, int tag) |
process TagGivenGapIsReached More... | |
virtual int | processTagTestDualBoundGain (int source, int tag) |
process TagTestDualBoundGain More... | |
virtual int | processTagNoTestDualBoundGain (int source, int tag) |
process TagNoTestDualBoundGain More... | |
virtual int | processTagNoWaitModeSend (int source, int tag) |
process TagNoWaitModeSend More... | |
virtual int | processTagRestart (int source, int tag) |
process TagRestart More... | |
virtual int | processTagLbBoundTightened (int source, int tag) |
process TagLbBoundTightened More... | |
virtual int | processTagUbBoundTightened (int source, int tag) |
process TagUbBoundTightened More... | |
virtual int | processTagCutOffValue (int source, int tag) |
process TagCutOffValue More... | |
virtual int | processTagKeepRacing (int source, int tag) |
process TagKeepRacing More... | |
virtual int | processTagTerminateSolvingToRestart (int source, int tag) |
process TagTerminateSolvingToRestart More... | |
virtual bool | receiveNewTaskAndReactivate () |
wait for receiving a new node and reactivate solver More... | |
virtual void | sendCompletionOfCalculation (double stopTime) |
send completion of calculation More... | |
virtual void | sendCompletionOfCalculation (double stopTime, int tag, int nSelfSplitNodesLeft) |
send completion of calculation with arguments More... | |
virtual void | sendCompletionOfCalculationWithoutSolving (double stopTime, int tag, int nSelfSplitNodesLeft) |
send completion of calculation with arguments More... | |
virtual bool | updateGlobalBestCutOffValue (double newValue) |
update global best cutoff value More... | |
virtual void | setRacingParams (ParaRacingRampUpParamSet *racingParms, bool winnerParam)=0 |
set racing parameters More... | |
virtual void | setWinnerRacingParams (ParaRacingRampUpParamSet *racingParms)=0 |
set winner racing parameters More... | |
virtual void | createSubproblem ()=0 |
create subproblem More... | |
virtual void | freeSubproblem ()=0 |
free subproblem More... | |
virtual void | solve ()=0 |
solve (sub)problem More... | |
virtual long long | getNNodesSolved ()=0 |
get number of nodes solved More... | |
virtual int | getNNodesLeft ()=0 |
get number of nodes left More... | |
virtual double | getDualBoundValue ()=0 |
get dual bound value More... | |
virtual void | setOriginalNodeSelectionStrategy ()=0 |
set original node selection strategy More... | |
virtual void | solveToCheckEffectOfRootNodePreprocesses () |
solve to check effect of root node preprocesses More... | |
virtual int | lbBoundTightened (int source, int tag) |
lower bound of variable tightened More... | |
virtual int | ubBoundTightened (int source, int tag) |
upper bound of variable tightened More... | |
virtual int | getNTightened () |
get number of tightened variables during racing More... | |
virtual int | getNTightenedInt () |
get number of tightened integral variables during racing More... | |
virtual void | changeSearchStrategy (int searchStrategy) |
change search strategy More... | |
virtual void | sendSolverTerminationState () |
send Solver termination state More... | |
virtual void | notifySelfSplitFinished () |
notify Self-Split finished More... | |
virtual void | restartRacing () |
restart racing More... | |
virtual bool | updateGlobalBestIncumbentSolution (ParaSolution *sol) |
update global best incumbent solution More... | |
virtual bool | updateGlobalBestIncumbentValue (double newValue) |
update global best incumbent value More... | |
virtual int | processTagTask (int source, int tag)=0 |
process TagTask More... | |
virtual int | processTagTaskReceived (int source, int tag)=0 |
process TagTaskReceived More... | |
virtual int | processTagRampUp (int source, int tag) |
process TagRampUp More... | |
virtual int | processTagSolution (int source, int tag)=0 |
process TagSolution More... | |
virtual int | processTagIncumbentValue (int source, int tag) |
process TagIncumbentValue More... | |
virtual int | processTagNotificationId (int source, int tag)=0 |
process TagNotificationId More... | |
virtual int | processTagTerminateRequest (int source, int tag)=0 |
process TagTerminateRequest More... | |
virtual int | processTagInterruptRequest (int source, int tag)=0 |
process TagInterruptRequest More... | |
virtual int | processTagWinnerRacingRampUpParamSet (int source, int tag) |
process TagWinnerRacingRampUpParamSet More... | |
virtual int | processTagWinner (int source, int tag) |
process TagWinner More... | |
virtual int | processTagToken (int source, int tag) |
process TagToken More... | |
virtual bool | receiveNewTaskAndReactivate ()=0 |
wait for receiving a new task and reactivate solver More... | |
virtual void | waitNotificationIdMessage ()=0 |
wait notification id message to synchronized with LoadCoordinator More... | |
virtual void | waitAckCompletion ()=0 |
wait ack completion to synchronized with LoadCoordinator More... | |
virtual void | sendCompletionOfCalculation (double stopTime)=0 |
restart racing More... | |
virtual bool | updateGlobalBestIncumbentSolution (ParaSolution *sol) |
update global best incumbent solution More... | |
virtual bool | updateGlobalBestIncumbentValue (double newValue) |
update global best incumbent value More... | |
virtual void | setRacingParams (ParaRacingRampUpParamSet *racingParms, bool winnerParam) |
set racing parameters More... | |
virtual void | setWinnerRacingParams (ParaRacingRampUpParamSet *racingParms) |
set winner racing parameters More... | |
virtual void | createSubproblem () |
create subproblem More... | |
virtual void | freeSubproblem () |
free subproblem More... | |
virtual void | solve ()=0 |
solve (sub)problem More... | |
virtual void | reinitialize () |
re-initialized instance More... | |
Static Protected Member Functions | |
static void | runInterruptMsgMonitorThread (void *threadData) |
Protected Attributes | |
SCIP * | scip |
SCIP * | scipToCheckEffectOfRootNodeProcesses |
ScipDiffParamSet * | scipDiffParamSetRoot |
ScipDiffParamSet * | scipDiffParamSet |
SCIP_MESSAGEHDLR * | messagehdlr |
FILE * | logfile |
ScipDiffParamSet * | originalParamSet |
std::list< LocalNodeInfoPtr > * | conflictConsList |
ScipUserPlugins * | userPlugins |
ScipParaObjCommPointHdlr * | commPointHdlr |
ScipParaObjNodesel * | nodesel |
ScipParaObjProp * | scipPropagator |
ScipParaInterruptMsgMonitor * | interruptMsgMonitor |
interrupt message monitor More... | |
long long | nPreviousNodesLeft |
int | originalPriority |
int | orgMaxRestart |
int | nOrgVars |
int | nOrgVarsInSolvers |
SCIP_Real * | orgVarLbs |
SCIP_Real * | orgVarUbs |
SCIP_Real * | tightenedVarLbs |
SCIP_Real * | tightenedVarUbs |
int * | mapToOriginalIndecies |
int * | mapToSolverLocalIndecies |
int * | mapToProbIndecies |
unsigned int | miscAllowdualreds |
int | nAddedConss |
SCIP_CONS ** | addedConss |
SCIP_CONS * | addedDualCons |
char * | settingsNameLC |
bool | fiberSCIP |
bool | quiet |
bool | collectingModeIsProhibited |
const char * | problemFileName |
SCIP_Real | orgFeastol |
SCIP_Real | orgLpfeastol |
bool | copyIncreasedVariables |
Protected Attributes inherited from BbParaSolver | |
double | globalBestDualBoundValueAtWarmStart |
global best dual bound value which is set when system warm starts More... | |
double | globalBestCutOffValue |
global best cut off value More... | |
double | lcBestDualBoundValue |
LoadCoordinator best dual bound value. More... | |
bool | collectingMode |
indicate whether if this solver is in collecting mode or not More... | |
bool | aggressiveCollecting |
indicate that if this solver has two nodes, this solver sends one to LC More... | |
int | nSendInCollectingMode |
number of nodes need to send in collecting mode More... | |
int | nCollectOnce |
number of nodes need to collect once More... | |
bool | collectingManyNodes |
indicate that many nodes collecting is requested by LC More... | |
bool | collectingInterrupt |
when the solver is interrupted, all nodes are collected to LC More... | |
bool | anotherNodeIsRequested |
indicate that another node is requested or not More... | |
bool | lightWeightRootNodeComputation |
indicate that fast root node computation is required More... | |
bool | onceBreak |
indicate that the sub-MIP is broken down once More... | |
double | rootNodeTime |
Times. More... | |
double | totalRootNodeTime |
accumulated root node process time solved by this solver so far More... | |
double | minRootNodeTime |
minimum time consumed by root node process More... | |
double | maxRootNodeTime |
maximum time consumed by root node process More... | |
int | nSolved |
Counters related to the current ParaNode. More... | |
int | nSent |
number of ParaNodes sent from this subtree rooted from the current ParaNode More... | |
int | nSolvedWithNoPreprocesses |
number of nodes solved when it is solved with no preprocesses More... | |
int | totalNSolved |
Counters related to this BbParaSolver. More... | |
int | minNSolved |
minimum number of subtree nodes rooted from ParaNode More... | |
int | maxNSolved |
maximum number of subtree nodes rooted from ParaNode More... | |
int | nTransferredLocalCutsFromSolver |
number of local cuts transferred from this Solver More... | |
int | minTransferredLocalCutsFromSolver |
minimum number of local cuts transferred from this Solver More... | |
int | maxTransferredLocalCutsFromSolver |
maximum number of local cuts transferred from this Solver More... | |
int | nTransferredBendersCutsFromSolver |
number of benders cuts transferred from this Solver More... | |
int | minTransferredBendersCutsFromSolver |
minimum number of benders cuts transferred from this Solver More... | |
int | maxTransferredBendersCutsFromSolver |
maximum number of benders cuts transferred from this Solver More... | |
int | nTotalRestarts |
number of total restarts More... | |
int | minRestarts |
minimum number of restarts More... | |
int | maxRestarts |
maximum number of restarts More... | |
int | totalNSent |
accumulated number of nodes sent from this BbParaSolver More... | |
int | totalNImprovedIncumbent |
accumulated number of improvements of incumbent value in this BbParaSolver More... | |
int | nParaNodesSolvedAtRoot |
number of ParaNodes solved at root node More... | |
int | nParaNodesSolvedAtPreCheck |
number of ParaNodes solved at pre-checking of root node solvability More... | |
int | nSimplexIterRoot |
number of simplex iteration at root node More... | |
int | nTransferredLocalCuts |
number of local cuts (including conflict cuts) transferred from a ParaNode More... | |
int | minTransferredLocalCuts |
minimum number of local cuts (including conflict cuts) transferred from a ParaNode More... | |
int | maxTransferredLocalCuts |
maximum number of local cuts (including conflict cuts) transferred from a ParaNode More... | |
int | nTransferredBendersCuts |
number of benders cuts transferred from a ParaNode More... | |
int | minTransferredBendersCuts |
minimum number of benders cuts transferred from a ParaNode More... | |
int | maxTransferredBendersCuts |
maximum number of benders cuts transferred from a ParaNode More... | |
int | nTightened |
the number of tightened variable bounds in racing More... | |
int | nTightenedInt |
the number of tightened integral variable bounds in racing More... | |
double | minIisum |
minimum sum of integer infeasibility More... | |
double | maxIisum |
maximum sum of integer infeasibility More... | |
int | minNii |
minimum number of integer infeasibility More... | |
int | maxNii |
maximum number of integer infeasibility More... | |
double | targetBound |
target bound value for breaking More... | |
int | nTransferLimit |
limit number of transferring nodes for breaking More... | |
int | nTransferredNodes |
keep track number of transferred nodes for breaking More... | |
double | solverDualBound |
dual bound value achieved for a subproblem More... | |
double | averageDualBoundGain |
average dual bound gain More... | |
bool | enoughGainObtained |
indicate that the root node process improved dual bound enough or not More... | |
bool | givenGapIsReached |
indicate that the given gap is reached or not More... | |
bool | testDualBoundGain |
indicate that the dual bound gain needs to test or not More... | |
bool | noWaitModeSend |
indicate that no wait mode sending is applied More... | |
bool | keepRacing |
indicate if Solver needs to do racing ramp-up repeatedly in case of warm start More... | |
bool | restartingRacing |
indicate that this solver is restarting racing More... | |
bool | localIncumbentIsChecked |
indicate if a local incumbent solution is checked or not More... | |
BbParaNodePool * | selfSplitNodePool |
Pool in Solver. More... | |
Protected Attributes inherited from ParaSolver | |
int | nHandlers |
number of valid message handlers More... | |
MessageHandlerFunctionPointer * | messageHandler |
table for message handlers More... | |
unsigned int | notificationIdGenerator |
ParaComm * | paraComm |
ParaCommunicator object. More... | |
ParaParamSet * | paraParams |
ParaParamSet object. More... | |
ParaRacingRampUpParamSet * | racingParams |
ParaRacingRampUpParamSet object. This is also a flag to indicate running with racing ramp-up. More... | |
ParaRacingRampUpParamSet * | winnerRacingParams |
Winner ParaRacingRampUpParamSet object. More... | |
ParaTimer * | paraTimer |
timer for this ParaSolver More... | |
ParaDeterministicTimer * | paraDetTimer |
deterministic timer for this ParaSolver More... | |
double | globalBestIncumbentValue |
global best incumbent value More... | |
ParaSolution * | globalBestIncumbentSolution |
global best solution. However, this is not always feasible for the current sub-MIP More... | |
ParaSolution * | localIncumbentSolution |
incumbent solution generated in local solver More... | |
ParaSolution * | pendingSolution |
solution which is pending to update in case of deterministic runs More... | |
double | pendingIncumbentValue |
incumbent value which is pending to update in case of deterministic runs More... | |
ParaInstance * | paraInstance |
root problem instance More... | |
ParaTask * | currentTask |
solving task More... | |
ParaTask * | newTask |
new task to solve More... | |
int | terminationMode |
indicate that termination mode 0: no termination mode 1: normal termination mode 2: interrupted termination More... | |
bool | warmStarted |
indicate whether if system is warm started or not More... | |
bool | rampUp |
indicate whether if ramp-up phase is finished or not: true - finish More... | |
bool | racingInterruptIsRequested |
indicate a racing interrupt is requested More... | |
bool | racingIsInterrupted |
indicate whether if racing phases is interrupted or not: true - interrupted More... | |
bool | racingWinner |
indicate racing ramp-up winner or not: true - winner More... | |
bool | waitingSpecificMessage |
indicate that this solver is waiting for a specific message More... | |
bool | memoryLimitIsReached |
indicate if memory limit is reached or not, when base solver has memory management feature More... | |
double | previousNotificationTime |
previous notification time More... | |
double | paraTaskStartTime |
start time of current ParaTask More... | |
double | previousStopTime |
Idle Times. More... | |
double | idleTimeToFirstParaTask |
idle time to start solving the first ParaTask More... | |
double | idleTimeBetweenParaTasks |
idle time between ParaTasks processing More... | |
double | idleTimeAfterLastParaTask |
idle time after the last ParaTask was solved More... | |
double | idleTimeToWaitNotificationId |
idle time to wait a message within collecting mode More... | |
double | idleTimeToWaitAckCompletion |
idle time to wait acknowledgment of completion More... | |
double | idleTimeToWaitToken |
idle time to wait token More... | |
double | previousIdleTimeToWaitToken |
previous idle time to wait token More... | |
double | offsetTimeToWaitToken |
offset time to wait token More... | |
int | nImprovedIncumbent |
Counters related to the current ParaTask. More... | |
int | nParaTasksReceived |
Counters related to this ParaSolver. More... | |
int | nParaTasksSolved |
number of ParaTasks solved ( received ) in this ParaSolver More... | |
bool | updatePendingSolutionIsProceeding |
update pending solution process is proceeding More... | |
bool | globalIncumbnetValueUpdateFlag |
indicate that global incumbent value is updated in iReceiveMessages() routine More... | |
bool | notificationProcessed |
if true, notification is issued but not receive the corresponding LCB More... | |
double | eps |
absolute values smaller than this are considered zero esp should be set in the constructor of the derived class of ParaSolver More... | |
double | previousCommTime |
previous communication time for deterministic execution More... | |
bool | subproblemFreed |
indicate that subproblem is already freed or not More... | |
bool | stayAliveAfterInterrupt |
indicate that stay alive this solver after interrupt request More... | |
Definition at line 72 of file scipParaSolver.h.
|
protected |
Definition at line 77 of file scipParaSolver.h.
ScipParaSolver | ( | int | argc, |
char ** | argv, | ||
UG::ParaComm * | comm, | ||
UG::ParaParamSet * | paraParamSet, | ||
UG::ParaInstance * | inParaInstance, | ||
UG::ParaDeterministicTimer * | detTimer | ||
) |
Definition at line 180 of file scipParaSolver.h.
ScipParaSolver | ( | int | argc, |
char ** | argv, | ||
UG::ParaComm * | comm, | ||
UG::ParaParamSet * | paraParamSet, | ||
UG::ParaInstance * | inParaInstance, | ||
UG::ParaDeterministicTimer * | detTimer, | ||
double | timeOffset, | ||
bool | thread | ||
) |
Definition at line 185 of file scipParaSolver.h.
ScipParaSolver | ( | int | argc, |
char ** | argv, | ||
int | nhanders, | ||
UG::ParaComm * | comm, | ||
UG::ParaParamSet * | paraParamSet, | ||
UG::ParaInstance * | paraInstance, | ||
UG::ParaDeterministicTimer * | detTimer | ||
) |
set user plugins
include user plugins
the first argument is runtime parameter file for ParaSCIP
this bcast is sent as SolverInitializationMessage
this bcast is sent as SolverInitializationMessage
set parameters for SCIP: this values are reseted before solving
the first argument is runtime parameter file for ParaSCIP
the second argument is problem file name
create problem
set parameters for SCIP: this values are reseted before solving
save original priority of changing node selector
Definition at line 1677 of file scipParaSolver.cpp.
References ParaSolution::bcast(), ScipDiffParamSet::bcast(), ParaCommCPP11::bcast(), UG::CheckEffectOfRootNodePreprocesses, comm, ScipParaSolver::commPointHdlr, UG::CommunicateTighterBoundsInRacing, ScipParaSolver::conflictConsList, CONFLICTHDLR_DESC, CONFLICTHDLR_NAME, CONFLICTHDLR_PRIORITY, ParaComm::createParaSolution(), ScipParaInstance::createProblem(), DEF_SCIP_PARA_COMM, UG::Deterministic, UG::DistributeBestPrimalSolution, ScipParaSolver::dropSettingsForVariableBoundsExchnage(), ParaSolver::eps, ParaParamSet::getBoolParamValue(), ParaTimer::getElapsedTime(), ParaParamSet::getIntParamValue(), ParaCommCPP11::getRank(), ParaComm::getRank(), ParaParamSet::getRealParamValue(), ParaComm::getSize(), ParaSolver::globalBestIncumbentSolution, ParaSolver::globalBestIncumbentValue, ScipParaSolver::includeUserPlugins(), UG::InstanceTransferMethod, ScipParaSolver::interruptMsgMonitor, ScipParaSolver::logfile, ParaSCIP::MemoryLimit, ScipParaSolver::messagehdlr, ScipParaSolver::nodesel, UG::NoPreprocessingInLC, ScipParaSolver::orgFeastol, ScipParaSolver::orgLpfeastol, ParaSolver::paraComm, UG::ParaDOUBLE, ParaSolver::paraInstance, UG::ParaINT, ParaSolver::paraParams, ParaSolver::paraTimer, UG::Quiet, ScipParaSolver::quiet, UG::RampUpPhaseProcess, ScipParaSolver::runInterruptMsgMonitorThread(), ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::saveOriginalPriority(), ScipParaSolver::saveOriginalSettings(), ScipParaSolver::scip, ScipParaSolver::scipDiffParamSet, ScipParaSolver::scipDiffParamSetRoot, ScipParaSolver::scipPropagator, ScipParaSolver::scipToCheckEffectOfRootNodeProcesses, UG::SelfSplitTreeDepth, ScipParaSolver::setOriginalMaxRestart(), ScipDiffParamSet::setParametersInScip(), ScipParaSolver::settingsNameLC, ScipParaSolver::setUserPlugins(), THROW_LOGICAL_ERROR1, THROW_LOGICAL_ERROR3, UG::TimeLimit, UG::TransferConflictCuts, UG::UseRootNodeCuts, and ParaSolver::warmStarted.
ScipParaSolver | ( | int | argc, |
char ** | argv, | ||
int | nhanders, | ||
UG::ParaComm * | comm, | ||
UG::ParaParamSet * | paraParamSet, | ||
UG::ParaInstance * | paraInstance, | ||
UG::ParaDeterministicTimer * | detTimer, | ||
double | timeOffset, | ||
bool | thread | ||
) |
user include plugins
the first argument is runtime parameter file for ParaSCIP
this bcast is sent as SolverInitializationMessage
this bcast is sent as SolverInitializationMessage
set parameters for SCIP: this values are reseted before solving
the first argument is runtime parameter file for ParaSCIP
the second argument is problem file name
create problem
set parameters for SCIP: this values are reseted before solving
save original priority of changing node selector
Definition at line 2021 of file scipParaSolver.cpp.
References ParaSolution::bcast(), ScipDiffParamSet::bcast(), ParaCommCPP11::bcast(), ParaComm::bcast(), UG::CheckEffectOfRootNodePreprocesses, comm, ScipParaSolver::commPointHdlr, UG::CommunicateTighterBoundsInRacing, ScipParaSolver::conflictConsList, CONFLICTHDLR_DESC, CONFLICTHDLR_NAME, CONFLICTHDLR_PRIORITY, ParaComm::createParaSolution(), ScipParaInstance::createProblem(), DEF_SCIP_PARA_COMM, UG::Deterministic, UG::DistributeBestPrimalSolution, ScipParaSolver::dropSettingsForVariableBoundsExchnage(), ParaSolver::eps, ParaParamSet::getBoolParamValue(), ParaTimer::getElapsedTime(), ParaParamSet::getIntParamValue(), ParaCommCPP11::getRank(), ParaComm::getRank(), ParaParamSet::getRealParamValue(), ScipParaInstance::getScip(), ParaComm::getSize(), ParaSolver::globalBestIncumbentSolution, ParaSolver::globalBestIncumbentValue, ScipParaSolver::includeUserPlugins(), UG::InstanceTransferMethod, ScipParaSolver::interruptMsgMonitor, ParaComm::lockApp(), ScipParaSolver::logfile, ParaSCIP::MemoryLimit, memoryLimitOfSolverSCIP, ScipParaSolver::messagehdlr, ScipParaSolver::nodesel, UG::NoPreprocessingInLC, UG::NoUpperBoundTransferInRacing, ScipParaSolver::orgFeastol, ScipParaSolver::orgLpfeastol, ParaSolver::paraComm, UG::ParaDOUBLE, ParaSolver::paraInstance, UG::ParaINT, ParaSolver::paraParams, ParaSolver::paraTimer, UG::Quiet, ScipParaSolver::quiet, UG::RampUpPhaseProcess, ScipParaSolver::runInterruptMsgMonitorThread(), ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::saveOriginalPriority(), ScipParaSolver::saveOriginalSettings(), ScipParaSolver::scip, SCIP_MEMORY_COPY_FACTOR, ScipParaSolver::scipDiffParamSet, ScipParaSolver::scipDiffParamSetRoot, ScipParaSolver::scipPropagator, ScipParaSolver::scipToCheckEffectOfRootNodeProcesses, UG::SelfSplitTreeDepth, ParaTimer::setOffset(), ScipDiffParamSet::setParametersInScip(), ScipParaSolver::settingsNameLC, THROW_LOGICAL_ERROR1, THROW_LOGICAL_ERROR3, UG::TimeLimit, UG::TransferConflictCuts, ParaComm::unlockApp(), UG::UseRootNodeCuts, and ParaSolver::warmStarted.
|
virtual |
delete scip diff param sets
reset message handler
close log file
The following code was in Solver base class before
Definition at line 2383 of file scipParaSolver.cpp.
References ScipParaSolver::addedConss, UG::CheckEffectOfRootNodePreprocesses, UG::CompTerminatedByInterruptRequest, UG::CompTerminatedNormally, ScipParaSolver::conflictConsList, DEF_BB_PARA_COMM, UG::Deterministic, ParaParamSet::getBoolParamValue(), ParaDeterministicTimer::getElapsedTime(), ParaTimer::getElapsedTime(), ParaComm::getRank(), ParaSolver::idleTimeAfterLastParaTask, ParaSolver::idleTimeBetweenParaTasks, ParaSolver::idleTimeToFirstParaTask, ParaSolver::idleTimeToWaitAckCompletion, ParaSolver::idleTimeToWaitNotificationId, ParaSolver::idleTimeToWaitToken, LocalNodeInfo_t::idxLinearCoefsVars, interrupted, UG::InterruptedTerminationMode, ScipParaSolver::interruptMsgMonitor, BbParaSolver::iReceiveMessages(), LocalNodeInfo_t::linearCoefs, ScipParaSolver::logfile, ScipParaSolver::mapToOriginalIndecies, ScipParaSolver::mapToProbIndecies, ScipParaSolver::mapToSolverLocalIndecies, BbParaSolver::maxNSolved, BbParaSolver::maxRestarts, BbParaSolver::maxRootNodeTime, BbParaSolver::maxTransferredBendersCutsFromSolver, BbParaSolver::maxTransferredLocalCutsFromSolver, ScipParaSolver::messagehdlr, BbParaSolver::minNSolved, BbParaSolver::minRestarts, BbParaSolver::minRootNodeTime, BbParaSolver::minTransferredBendersCutsFromSolver, BbParaSolver::minTransferredLocalCutsFromSolver, BbParaSolver::nParaNodesSolvedAtPreCheck, BbParaSolver::nParaNodesSolvedAtRoot, ParaSolver::nParaTasksReceived, ParaSolver::nParaTasksSolved, BbParaSolver::nTightened, BbParaSolver::nTightenedInt, BbParaSolver::nTotalRestarts, BbParaSolver::nTransferredBendersCutsFromSolver, BbParaSolver::nTransferredLocalCutsFromSolver, ScipParaSolver::orgVarLbs, ScipParaSolver::orgVarUbs, ParaSolver::paraComm, ParaSolver::paraDetTimer, ParaSolver::paraParams, ParaSolver::paraTimer, ParaComm::passTermToken(), ParaSolver::previousIdleTimeToWaitToken, ParaSolver::previousStopTime, ScipParaSolver::scip, ScipParaSolver::scipDiffParamSet, ScipParaSolver::scipDiffParamSetRoot, ScipParaSolver::scipToCheckEffectOfRootNodeProcesses, ParaSolverTerminationState::send(), UG::TagTerminated, ScipParaInterruptMsgMonitor::terminate(), ParaSolver::terminationMode, ScipParaSolver::tightenedVarLbs, ScipParaSolver::tightenedVarUbs, UG::TimeLimitTerminationMode, BbParaSolver::totalNImprovedIncumbent, BbParaSolver::totalNSent, BbParaSolver::totalNSolved, BbParaSolver::totalRootNodeTime, ScipParaSolver::userPlugins, and BbParaSolver::waitToken().
void allowCollectingMode | ( | ) |
Definition at line 333 of file scipParaSolver.h.
References ScipParaSolver::collectingModeIsProhibited.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
void checkVarsAndIndex | ( | const char * | string, |
SCIP * | inScip | ||
) |
Definition at line 374 of file scipParaSolver.h.
References ParaComm::getRank(), and ParaSolver::paraComm.
void copyIncrasedVariables | ( | ) |
Definition at line 398 of file scipParaSolver.h.
References ScipParaSolver::copyIncreasedVariables.
|
protectedvirtual |
set instance specific parameters
set original node selection strategy
only a constraint whose "enforce is TRUE can be written in transformed problem only a constraint whose "enforce is TRUE can be written in transformed problem
only a constraint whose "enforce is TRUE can be written in transformed problem
try to automatically convert a linear constraint into a more specific and more specialized constraint
do not save solutions to original problem space
Implements BbParaSolver.
Definition at line 440 of file scipParaSolver.cpp.
References ParaSCIP::AddDualBoundCons, ScipParaSolver::addedConss, ScipParaSolver::addedDualCons, ScipParaSolver::commPointHdlr, ParaSolver::currentTask, ScipParaDiffSubproblem::getBendersLinearCoefs(), ScipParaDiffSubproblem::getBendersLinearLhs(), ScipParaDiffSubproblem::getBendersLinearRhs(), ParaParamSet::getBoolParamValue(), ScipParaDiffSubproblem::getBoundsBoundDisjunction(), ScipParaDiffSubproblem::getBoundType(), ScipParaDiffSubproblem::getBoundTypesBoundDisjunction(), ScipParaDiffSubproblem::getBranchBound(), ScipParaDiffSubproblem::getBranchConsLinearCoefs(), ScipParaDiffSubproblem::getBranchConsLinearConsNames(), ScipParaDiffSubproblem::getBranchConsLinearIdxCoefsVars(), ScipParaDiffSubproblem::getBranchConsLinearLhs(), ScipParaDiffSubproblem::getBranchConsLinearRhs(), ScipParaDiffSubproblem::getBranchConsNLinearCoefs(), ScipParaDiffSubproblem::getBranchConsSetppcConsNames(), ScipParaDiffSubproblem::getBranchConsSetppcNVars(), ScipParaDiffSubproblem::getBranchConsSetppcType(), ScipParaDiffSubproblem::getBranchConsSetppcVars(), ScipParaDiffSubproblem::getBranchLinearConss(), ScipParaDiffSubproblem::getBranchSetppcConss(), ParaTask::getDiffSubproblem(), ScipParaDiffSubproblem::getDownconflen(), ScipParaDiffSubproblem::getDowncutoff(), ScipParaDiffSubproblem::getDowninfer(), ScipParaDiffSubproblem::getDownpscost(), ScipParaDiffSubproblem::getDownvsids(), BbParaNode::getDualBoundValue(), ScipParaDiffSubproblem::getFlagBoundDisjunctionCheck(), ScipParaDiffSubproblem::getFlagBoundDisjunctionDynamic(), ScipParaDiffSubproblem::getFlagBoundDisjunctionEnforce(), ScipParaDiffSubproblem::getFlagBoundDisjunctionInitial(), ScipParaDiffSubproblem::getFlagBoundDisjunctionLocal(), ScipParaDiffSubproblem::getFlagBoundDisjunctionModifiable(), ScipParaDiffSubproblem::getFlagBoundDisjunctionPropagate(), ScipParaDiffSubproblem::getFlagBoundDisjunctionRemovable(), ScipParaDiffSubproblem::getFlagBoundDisjunctionSeparate(), ScipParaDiffSubproblem::getFlagBoundDisjunctionStickingatnode(), ScipParaDiffSubproblem::getIdxBendersLinearCoefsVars(), ScipParaDiffSubproblem::getIdxBoundDisjunctionVars(), ScipParaDiffSubproblem::getIdxLBranchStatsVars(), ScipParaDiffSubproblem::getIdxLinearCoefsVars(), ScipParaDiffSubproblem::getIndex(), BbParaNode::getInitialDualBoundValue(), ParaParamSet::getIntParamValue(), ScipParaDiffSubproblem::getLinearCoefs(), ScipParaDiffSubproblem::getLinearLhs(), ScipParaDiffSubproblem::getLinearRhs(), ScipParaDiffSubproblem::getNBendersLinearCoefs(), ScipParaDiffSubproblem::getNBendersLinearConss(), ScipParaDiffSubproblem::getNBoundChanges(), ScipParaDiffSubproblem::getNBoundDisjunctions(), ScipParaDiffSubproblem::getNBranchConsLinearConss(), ScipParaDiffSubproblem::getNBranchConsSetppcConss(), ScipParaDiffSubproblem::getNLinearCoefs(), ScipParaDiffSubproblem::getNLinearConss(), ScipParaDiffSubproblem::getNVarBranchStats(), ScipParaDiffSubproblem::getNVarsBoundDisjunction(), ScipParaDiffSubproblem::getNVarValueValues(), ScipParaDiffSubproblem::getNVarValueVars(), ScipParaSolver::getOriginalMaxRestart(), BbParaSolver::getParaParamSet(), ParaComm::getRank(), ParaParamSet::getStringParamValue(), ScipParaDiffSubproblem::getUpconflen(), ScipParaDiffSubproblem::getUpcutoff(), ScipParaDiffSubproblem::getUpinfer(), ScipParaDiffSubproblem::getUppscost(), ScipParaDiffSubproblem::getUpvsids(), ScipParaDiffSubproblem::getVarValue(), ScipParaDiffSubproblem::getVarValueDownconflen(), ScipParaDiffSubproblem::getVarValueDowncutoff(), ScipParaDiffSubproblem::getVarValueDowninfer(), ScipParaDiffSubproblem::getVarValueDownvsids(), ScipParaDiffSubproblem::getVarValueUpconflen(), ScipParaDiffSubproblem::getVarValueUpcutoff(), ScipParaDiffSubproblem::getVarValueUpinfer(), ScipParaDiffSubproblem::getVarVlaueUpvsids(), BbParaSolver::isRacingStage(), ParaTask::isRootTask(), ScipParaSolver::mapToProbIndecies, ScipParaSolver::mapToSolverLocalIndecies, ScipParaSolver::nAddedConss, ScipUserPlugins::newSubproblem(), ScipParaSolver::nodesel, ScipParaSolver::nOrgVars, UG::NoSolverPresolvingAtRoot, UG::NoSolverPresolvingAtRootDefaultSet, ParaSolver::paraComm, ParaSolver::paraParams, UG::RacingParamsDirPath, ScipParaObjNodesel::reset(), ScipParaObjCommPointHdlr::resetCommPointHdlr(), ScipParaSolver::scip, ScipParaSolver::scipDiffParamSet, ScipParaSolver::scipDiffParamSetRoot, UG::SetAllDefaultsAfterRacing, ScipParaSolver::setBakSettings(), ScipDiffParamSet::setParametersInScip(), ScipParaSolver::setWinnerRacingParams(), THROW_LOGICAL_ERROR2, ScipParaSolver::userPlugins, and ParaSolver::winnerRacingParams.
Referenced by ScipParaSolver::solveToCheckEffectOfRootNodePreprocesses().
|
protected |
Definition at line 3178 of file scipParaSolver.cpp.
References ParaComm::getRank(), BbParaSolver::isRacingStage(), ParaSolver::paraComm, and ScipParaSolver::scip.
Referenced by ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), and ScipParaSolver::setRacingParams().
|
protectedvirtual |
Implements BbParaSolver.
Definition at line 1121 of file scipParaSolver.cpp.
References ScipParaSolver::addedConss, ScipParaSolver::addedDualCons, UG::CommunicateTighterBoundsInRacing, ParaSolver::currentTask, DEF_SCIP_PARA_COMM, ParaParamSet::getBoolParamValue(), ParaTask::getDiffSubproblem(), ParaParamSet::getIntParamValue(), ScipParaDiffSubproblem::getNLinearConss(), ScipParaSolver::getNTightened(), ScipParaSolver::getNTightenedInt(), BbParaSolver::isRacingStage(), ScipParaSolver::nAddedConss, ScipParaSolver::nOrgVars, ScipParaSolver::nOrgVarsInSolvers, BbParaSolver::nTightened, BbParaSolver::nTightenedInt, ScipParaSolver::orgVarLbs, ScipParaSolver::orgVarUbs, ParaSolver::paraComm, ParaSolver::paraParams, UG::RacingStatBranching, ParaSolver::racingWinner, UG::RampUpPhaseProcess, ScipParaSolver::recoverOriginalSettings(), BbParaSolver::restartingRacing, ScipParaSolver::scip, and ParaInitialStat::send().
Referenced by ScipParaSolver::solveToCheckEffectOfRootNodePreprocesses().
const char * getChangeNodeSelName | ( | ) |
Definition at line 195 of file scipParaSolver.h.
References ParaParamSet::getIntParamValue(), UG::NodeTransferMode, and ParaSolver::paraParams.
Referenced by ScipParaSolver::saveOriginalPriority(), ScipParaObjCommPointHdlr::ScipParaObjCommPointHdlr(), and ScipParaSolver::setOriginalPriority().
std::list< LocalNodeInfoPtr > * getConflictConsList | ( | ) |
Definition at line 267 of file scipParaSolver.h.
References ScipParaSolver::conflictConsList.
Referenced by ScipParaDiffSubproblem::addLocalNodeInfo(), and SCIP_DECL_CONFLICTEXEC().
|
protectedvirtual |
Implements BbParaSolver.
Definition at line 1664 of file scipParaSolver.cpp.
References ParaSolver::currentTask, ScipParaSolver::getDualBoundValue(), and ScipParaSolver::scip.
Referenced by ScipParaSolver::getDualBoundValue(), and ScipParaSolver::solve().
|
protectedvirtual |
Implements BbParaSolver.
Definition at line 1643 of file scipParaSolver.cpp.
References ScipParaSolver::scip.
|
protectedvirtual |
Implements BbParaSolver.
Definition at line 1629 of file scipParaSolver.cpp.
References ScipParaSolver::scip.
int getNOrgVars | ( | ) |
Definition at line 363 of file scipParaSolver.h.
References ScipParaSolver::nOrgVars.
Referenced by ScipParaDiffSubproblem::addBoundDisjunctions(), ScipParaDiffSubproblem::addBranchVarStats(), ScipParaDiffSubproblem::addLocalNodeInfo(), ScipParaDiffSubproblem::addVarValueStats(), ScipParaObjCommPointHdlr::checkRootNodeSolvabilityAndSendParaNode(), ScipParaObjCommPointHdlr::ifFeasibleInOriginalProblem(), and ScipParaDiffSubproblem::ScipParaDiffSubproblem().
long long getNPreviousNodesLeft | ( | ) |
Definition at line 361 of file scipParaSolver.h.
References ScipParaSolver::nPreviousNodesLeft.
|
virtual |
Reimplemented from BbParaSolver.
Definition at line 289 of file scipParaSolver.h.
References ScipParaSolver::scip.
|
virtual |
get number of tightened variables during racing
Reimplemented from BbParaSolver.
Definition at line 3103 of file scipParaSolver.cpp.
References ScipParaObjProp::getNtightened(), BbParaSolver::nTightened, and ScipParaSolver::scipPropagator.
Referenced by ScipParaSolver::freeSubproblem().
|
virtual |
get number of tightened integral variables during racing
Reimplemented from BbParaSolver.
Definition at line 3125 of file scipParaSolver.cpp.
References ScipParaObjProp::getNtightenedInt(), BbParaSolver::nTightened, BbParaSolver::nTightenedInt, and ScipParaSolver::scipPropagator.
Referenced by ScipParaSolver::freeSubproblem().
int getOffsetDepth | ( | ) |
Definition at line 250 of file scipParaSolver.h.
References ParaSolver::currentTask, ParaTask::getDiffSubproblem(), and ScipParaDiffSubproblem::getOffset().
Referenced by ScipParaObjCommPointHdlr::scip_exec().
double getOrgVarLb | ( | int | i | ) |
Definition at line 364 of file scipParaSolver.h.
References ScipParaSolver::orgVarLbs.
Referenced by ScipParaObjCommPointHdlr::ifFeasibleInOriginalProblem(), ScipParaObjCommPointHdlr::scip_exec(), and ScipParaDiffSubproblem::ScipParaDiffSubproblem().
double getOrgVarUb | ( | int | i | ) |
Definition at line 365 of file scipParaSolver.h.
References ScipParaSolver::orgVarUbs.
Referenced by ScipParaObjCommPointHdlr::ifFeasibleInOriginalProblem(), ScipParaObjCommPointHdlr::scip_exec(), and ScipParaDiffSubproblem::ScipParaDiffSubproblem().
int getOriginalIndex | ( | int | index | ) |
Definition at line 347 of file scipParaSolver.h.
References ScipParaSolver::mapToOriginalIndecies.
Referenced by ScipParaDiffSubproblem::addBoundDisjunctions(), ScipParaDiffSubproblem::addBranchLinearConss(), ScipParaDiffSubproblem::addBranchSetppcConss(), ScipParaDiffSubproblem::addBranchVarStats(), ScipParaDiffSubproblem::addLocalNodeInfo(), ScipParaDiffSubproblem::addVarValueStats(), ScipParaObjCommPointHdlr::checkRootNodeSolvabilityAndSendParaNode(), ScipParaObjCommPointHdlr::processNewSolution(), ScipParaSolver::saveImprovedSolution(), SCIP_DECL_CONFLICTEXEC(), ScipParaObjCommPointHdlr::scip_exec(), ScipParaDiffSubproblem::ScipParaDiffSubproblem(), and ScipParaSolution::ScipParaSolution().
int getOriginalMaxRestart | ( | ) |
Definition at line 242 of file scipParaSolver.h.
References ScipParaSolver::orgMaxRestart.
Referenced by ScipParaSolver::createSubproblem().
int getOriginalPriority | ( | ) |
Definition at line 200 of file scipParaSolver.h.
References ScipParaSolver::originalPriority.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
ScipParaDiffSubproblem * getParentDiffSubproblem | ( | ) |
Definition at line 244 of file scipParaSolver.h.
References ParaSolver::currentTask, and ParaTask::getDiffSubproblem().
Referenced by ScipParaDiffSubproblem::addBranchLinearConss(), ScipParaDiffSubproblem::addBranchSetppcConss(), ScipParaDiffSubproblem::addLocalNodeInfo(), and ScipParaDiffSubproblem::ScipParaDiffSubproblem().
int getProbIndex | ( | int | index | ) |
Definition at line 355 of file scipParaSolver.h.
References ScipParaSolver::mapToProbIndecies.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
SCIP * getScip | ( | ) |
Definition at line 263 of file scipParaSolver.h.
References ScipParaSolver::scip.
Referenced by ScipParaObjCommPointHdlr::clone(), ScipParaObjNodesel::getNBoundChanges(), and ScipParaInterruptMsgMonitor::run().
|
virtual |
Implements BbParaSolver.
Definition at line 275 of file scipParaSolver.h.
References ScipParaSolver::scip.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
double getTightenedVarLb | ( | int | i | ) |
Definition at line 369 of file scipParaSolver.h.
References ScipParaSolver::tightenedVarLbs.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
double getTightenedVarUb | ( | int | i | ) |
Definition at line 370 of file scipParaSolver.h.
References ScipParaSolver::tightenedVarUbs.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
void includeUserPlugins | ( | SCIP * | inScip | ) |
include user plugins
Definition at line 306 of file scipParaSolver.h.
References ScipParaSolver::userPlugins.
Referenced by ScipParaSolver::reinitialize(), and ScipParaSolver::ScipParaSolver().
bool isCollectingModeProhibited | ( | ) |
Definition at line 327 of file scipParaSolver.h.
References ScipParaSolver::collectingModeIsProhibited.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
bool isCopyIncreasedVariables | ( | ) |
Definition at line 393 of file scipParaSolver.h.
References ScipParaSolver::copyIncreasedVariables.
Referenced by ScipParaDiffSubproblem::addBoundDisjunctions(), ScipParaObjCommPointHdlr::checkRootNodeSolvabilityAndSendParaNode(), ScipParaObjCommPointHdlr::processNewSolution(), ScipParaSolver::saveImprovedSolution(), ScipParaSolver::saveOrgProblemBounds(), ScipParaDiffSubproblem::ScipParaDiffSubproblem(), and ScipParaSolver::tryNewSolution().
bool isInterrupting | ( | ) |
Definition at line 3246 of file scipParaSolver.cpp.
References ScipParaSolver::commPointHdlr, and ScipParaObjCommPointHdlr::isInterrupting().
Referenced by ScipParaInterruptMsgMonitor::run(), and ScipParaObjCommPointHdlr::scip_exec().
bool isOriginalIndeciesMap | ( | ) |
Definition at line 345 of file scipParaSolver.h.
References ScipParaSolver::mapToOriginalIndecies.
Referenced by ScipParaDiffSubproblem::addBoundDisjunctions(), ScipParaDiffSubproblem::addBranchLinearConss(), ScipParaDiffSubproblem::addBranchSetppcConss(), ScipParaDiffSubproblem::addBranchVarStats(), ScipParaDiffSubproblem::addLocalNodeInfo(), ScipParaDiffSubproblem::addVarValueStats(), SCIP_DECL_CONFLICTEXEC(), ScipParaObjCommPointHdlr::scip_exec(), ScipParaDiffSubproblem::ScipParaDiffSubproblem(), and ScipParaSolution::ScipParaSolution().
bool isProbIndeciesMap | ( | ) |
Definition at line 353 of file scipParaSolver.h.
References ScipParaSolver::mapToProbIndecies.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
|
virtual |
Reimplemented from BbParaSolver.
Definition at line 3239 of file scipParaSolver.cpp.
References ScipParaSolver::commPointHdlr, ScipParaObjCommPointHdlr::issueInterrupt(), and ScipParaSolver::scip.
|
protectedvirtual |
Reimplemented from BbParaSolver.
Definition at line 3019 of file scipParaSolver.cpp.
References ScipParaObjProp::addBoundChange(), ScipParaSolver::mapToProbIndecies, ScipParaSolver::mapToSolverLocalIndecies, UG::NoTerminationMode, ScipParaSolver::orgVarLbs, ScipParaSolver::orgVarUbs, PARA_COMM_CALL, ParaSolver::paraComm, UG::ParaDOUBLE, UG::ParaINT, ParaComm::receive(), ScipParaSolver::scip, ScipParaSolver::scipPropagator, UG::TagLbBoundTightenedBound, UG::TagLbBoundTightenedIndex, ParaSolver::terminationMode, and ScipParaSolver::tightenedVarLbs.
|
virtual |
Reimplemented from BbParaSolver.
Definition at line 407 of file scipParaSolver.h.
References BbParaSolver::processTagInterruptRequest(), and ScipParaSolver::scip.
Referenced by ScipParaInterruptMsgMonitor::run().
void prohibitCollectingMode | ( | ) |
Definition at line 339 of file scipParaSolver.h.
References ScipParaSolver::collectingModeIsProhibited.
Referenced by ScipParaSolver::solve().
|
protected |
Definition at line 3210 of file scipParaSolver.cpp.
References ParaParamSet::getIntParamValue(), ParaComm::getRank(), ScipParaSolver::miscAllowdualreds, ParaSolver::paraComm, ParaSolver::paraParams, UG::RampUpPhaseProcess, and ScipParaSolver::scip.
Referenced by ScipParaSolver::freeSubproblem().
|
protectedvirtual |
user include plugins
Reimplemented from ParaSolver.
Definition at line 2820 of file scipParaSolver.cpp.
References ParaInstance::bcast(), UG::CheckEffectOfRootNodePreprocesses, ScipParaSolver::commPointHdlr, UG::CommunicateTighterBoundsInRacing, ScipParaSolver::conflictConsList, CONFLICTHDLR_DESC, CONFLICTHDLR_NAME, CONFLICTHDLR_PRIORITY, ParaComm::createParaInstance(), ScipParaInstance::createProblem(), ScipParaSolver::dropSettingsForVariableBoundsExchnage(), ScipParaSolver::fiberSCIP, ParaParamSet::getBoolParamValue(), ParaTimer::getElapsedTime(), ParaParamSet::getIntParamValue(), ParaParamSet::getRealParamValue(), ScipParaInstance::getScip(), ScipParaSolver::includeUserPlugins(), UG::InstanceTransferMethod, ScipParaSolver::logfile, ScipParaSolver::messagehdlr, ScipParaSolver::nodesel, UG::NoPreprocessingInLC, ScipParaSolver::orgVarLbs, ScipParaSolver::orgVarUbs, ParaSolver::paraComm, ParaSolver::paraInstance, ParaSolver::paraParams, ParaSolver::paraTimer, ScipParaSolver::problemFileName, UG::Quiet, ScipParaSolver::quiet, UG::RampUpPhaseProcess, ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::saveOriginalSettings(), ScipParaSolver::scip, ScipParaSolver::scipDiffParamSet, ScipParaSolver::scipDiffParamSetRoot, ScipParaSolver::scipPropagator, ScipParaSolver::scipToCheckEffectOfRootNodeProcesses, ScipParaInstance::setFileName(), ScipDiffParamSet::setParametersInScip(), ScipParaSolver::settingsNameLC, ScipParaSolver::setUserPlugins(), UG::TimeLimit, UG::TransferConflictCuts, and UG::UseRootNodeCuts.
|
staticprotected |
Definition at line 172 of file scipParaSolver.h.
References ScipParaInterruptMsgMonitor::run().
Referenced by ScipParaSolver::ScipParaSolver().
|
protected |
Definition at line 1197 of file scipParaSolver.cpp.
References DEF_SCIP_PARA_COMM, ScipParaSolver::getOriginalIndex(), ScipParaSolver::isCopyIncreasedVariables(), ParaSolver::paraComm, BbParaSolver::saveIfImprovedSolutionWasFound(), and ScipParaSolver::scip.
Referenced by ScipParaSolver::solve().
|
protected |
Definition at line 2721 of file scipParaSolver.cpp.
References UG::CommunicateTighterBoundsInRacing, ScipParaSolver::copyIncreasedVariables, ScipParaInstance::extractOrigProbIndexMap(), ScipParaInstance::extractSolverLocalIndexMap(), ParaParamSet::getBoolParamValue(), ParaParamSet::getIntParamValue(), ScipParaInstance::getNVars(), ScipParaInstance::getVarIndexRange(), ScipParaInstance::getVarLb(), ScipParaInstance::getVarUb(), ScipParaSolver::isCopyIncreasedVariables(), ScipParaInstance::isOriginalIndeciesMap(), ScipParaSolver::mapToOriginalIndecies, ScipParaSolver::mapToProbIndecies, ScipParaSolver::mapToSolverLocalIndecies, ScipParaSolver::nOrgVars, ScipParaSolver::nOrgVarsInSolvers, ScipParaSolver::orgVarLbs, ScipParaSolver::orgVarUbs, ParaSolver::paraInstance, ParaSolver::paraParams, UG::RampUpPhaseProcess, ScipParaSolver::scip, ScipParaSolver::tightenedVarLbs, and ScipParaSolver::tightenedVarUbs.
Referenced by ScipParaSolver::reinitialize(), and ScipParaSolver::ScipParaSolver().
void saveOriginalPriority | ( | ) |
Definition at line 204 of file scipParaSolver.h.
References ScipParaSolver::getChangeNodeSelName(), ScipParaSolver::originalPriority, and ScipParaSolver::scip.
Referenced by ScipParaSolver::ScipParaSolver().
|
protected |
Definition at line 3146 of file scipParaSolver.cpp.
References ParaComm::getRank(), BbParaSolver::isRacingStage(), ScipParaSolver::miscAllowdualreds, ParaSolver::paraComm, and ScipParaSolver::scip.
Referenced by ScipParaSolver::reinitialize(), and ScipParaSolver::ScipParaSolver().
|
protected |
Definition at line 3002 of file scipParaSolver.cpp.
References ParaSolver::currentTask, ParaTimer::getElapsedTime(), ParaTask::getGeneratorTaskId(), ParaComm::getRank(), ParaTask::getTaskId(), ParaSolver::paraComm, ParaSolver::paraTimer, and ScipParaSolver::scip.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::setOriginalNodeSelectionStrategy(), ScipParaSolver::setOriginalRootNodeProcess(), ScipParaSolver::setRacingParams(), and ScipParaSolver::setWinnerRacingParams().
|
virtual |
Reimplemented from BbParaSolver.
Definition at line 2656 of file scipParaSolver.cpp.
References DEF_SCIP_PARA_COMM, BbParaSolver::lightWeightRootNodeComputation, ScipParaSolver::originalParamSet, ParaSolver::paraComm, and ScipParaSolver::scip.
void setNPreviousNodesLeft | ( | long long | n | ) |
Definition at line 362 of file scipParaSolver.h.
References ScipParaSolver::nPreviousNodesLeft.
Referenced by ScipParaObjCommPointHdlr::changeSearchStrategy(), and ScipParaObjCommPointHdlr::scip_exec().
void setOrgVarLb | ( | int | i, |
double | v | ||
) |
Definition at line 366 of file scipParaSolver.h.
References ScipParaSolver::orgVarLbs.
void setOrgVarUb | ( | int | i, |
double | v | ||
) |
Definition at line 367 of file scipParaSolver.h.
References ScipParaSolver::orgVarUbs.
void setOriginalMaxRestart | ( | ) |
Definition at line 238 of file scipParaSolver.h.
References ScipParaSolver::orgMaxRestart, and ScipParaSolver::scip.
Referenced by ScipParaSolver::ScipParaSolver().
|
protectedvirtual |
Implements BbParaSolver.
Definition at line 2976 of file scipParaSolver.cpp.
References ScipParaSolver::commPointHdlr, ParaSolver::currentTask, ParaParamSet::getBoolParamValue(), ParaSolver::paraParams, ScipParaSolver::scip, ScipParaSolver::scipDiffParamSet, UG::SetAllDefaultsAfterRacing, ScipParaSolver::setBakSettings(), ScipParaObjCommPointHdlr::setOriginalNodeSelectionStrategy(), ScipDiffParamSet::setParametersInScip(), and ParaSolver::winnerRacingParams.
void setOriginalPriority | ( | ) |
Definition at line 221 of file scipParaSolver.h.
References ScipParaSolver::getChangeNodeSelName(), ScipParaSolver::originalPriority, and ScipParaSolver::scip.
Referenced by ScipParaObjCommPointHdlr::resetCommPointHdlr(), and ScipParaObjCommPointHdlr::setOriginalNodeSelectionStrategy().
|
virtual |
Reimplemented from BbParaSolver.
Definition at line 2671 of file scipParaSolver.cpp.
References BbParaSolver::lightWeightRootNodeComputation, ScipParaSolver::originalParamSet, ScipParaSolver::scip, ScipParaSolver::setBakSettings(), and ScipDiffParamSet::setParametersInScip().
void setProblemFileName | ( | const char * | fileName | ) |
Definition at line 320 of file scipParaSolver.h.
References ScipParaSolver::problemFileName.
|
protectedvirtual |
Implements BbParaSolver.
Definition at line 232 of file scipParaSolver.cpp.
References UG::CommunicateTighterBoundsInRacing, ParaSCIP::CustomizedToSharedMemory, ScipParaSolver::dropSettingsForVariableBoundsExchnage(), ParaParamSet::getBoolParamValue(), ScipParaRacingRampUpParamSet::getGenerateBranchOrderSeed(), ParaParamSet::getIntParamValue(), ScipParaRacingRampUpParamSet::getPermuteProbSeed(), ScipParaRacingRampUpParamSet::getScipDiffParamSet(), ScipParaRacingRampUpParamSet::getScipRacingParamSeed(), ParaParamSet::getStringParamValue(), UG::NoAggressiveSeparatorInRacing, ParaSolver::paraParams, UG::ProvingRun, UG::RacingParamsDirPath, UG::RampUpPhaseProcess, ScipParaSolver::scip, UG::SetAllDefaultsAfterRacing, ScipParaSolver::setBakSettings(), ScipDiffParamSet::setParametersInScip(), THROW_LOGICAL_ERROR1, and ScipParaSolver::userPlugins.
Referenced by ScipParaSolver::setWinnerRacingParams().
void setTightenedVarLb | ( | int | i, |
double | v | ||
) |
Definition at line 371 of file scipParaSolver.h.
References ScipParaSolver::tightenedVarLbs.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
void setTightenedVarUb | ( | int | i, |
double | v | ||
) |
Definition at line 372 of file scipParaSolver.h.
References ScipParaSolver::tightenedVarUbs.
Referenced by ScipParaObjCommPointHdlr::scip_exec().
void setUserPlugins | ( | ScipUserPlugins * | inUi | ) |
set user plugins
Definition at line 303 of file scipParaSolver.h.
References ScipParaSolver::userPlugins.
Referenced by ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), and setUserPlugins().
|
protectedvirtual |
inRacingParams | winner solver pramset |
Implements BbParaSolver.
Definition at line 197 of file scipParaSolver.cpp.
References ParaParamSet::getBoolParamValue(), ScipParaRacingRampUpParamSet::getPermuteProbSeed(), ParaSolver::paraParams, ScipParaSolver::scip, UG::SetAllDefaultsAfterRacing, ScipParaSolver::setBakSettings(), ScipParaSolver::setRacingParams(), and ScipParaSolver::userPlugins.
Referenced by ScipParaSolver::createSubproblem().
|
protectedvirtual |
solve
set cutoff value
set cutoff value
Implements BbParaSolver.
Definition at line 1248 of file scipParaSolver.cpp.
References UG::AllowTreeSearchRestart, UG::CompTerminatedNormally, ScipParaSolver::conflictConsList, UG::ControlCollectingModeOnSolverSide, ParaSolver::currentTask, ParaSolver::eps, EPSEQ, ParaParamSet::getBoolParamDefaultValue(), ParaParamSet::getBoolParamValue(), BbParaSolver::getCurrentNode(), ParaTask::getDiffSubproblem(), ScipParaSolver::getDualBoundValue(), ParaTimer::getElapsedTime(), BbParaSolver::getGlobalBestIncumbentValue(), ParaParamSet::getIntParamValue(), ParaComm::getRank(), ParaParamSet::getRealParamValue(), ParaSolver::globalBestIncumbentValue, LocalNodeInfo_t::idxLinearCoefsVars, BbParaSolver::isCollectingAllNodes(), BbParaSolver::isRacingInterruptRequested(), BbParaSolver::isRacingStage(), ParaSolver::isRacingWinner(), ParaTask::isRootTask(), LocalNodeInfo_t::linearCoefs, ParaSolver::memoryLimitIsReached, ParaSolver::notificationProcessed, ScipParaSolver::nPreviousNodesLeft, ScipParaSolver::orgFeastol, ScipParaSolver::orgLpfeastol, ParaSolver::paraComm, ParaSolver::paraParams, ParaSolver::paraTimer, ScipParaSolver::prohibitCollectingMode(), ParaSolver::racingIsInterrupted, UG::RampUpPhaseProcess, ScipParaSolver::saveImprovedSolution(), ScipParaSolver::scip, BbParaSolver::sendLocalSolution(), ParaSolver::setTerminationMode(), BbParaSolver::solverDualBound, ParaSolver::terminationMode, THROW_LOGICAL_ERROR1, UG::TimeLimit, UG::TimeLimitTerminationMode, UG::TransferConflictCuts, ScipParaSolver::userPlugins, BbParaSolver::waitNotificationIdMessage(), ScipParaSolver::writeSubproblem(), and ScipUserPlugins::writeSubproblem().
|
protectedvirtual |
set cutoff value
solve
Reimplemented from BbParaSolver.
Definition at line 2548 of file scipParaSolver.cpp.
References ScipParaSolver::createSubproblem(), ScipParaSolver::freeSubproblem(), ParaSolver::globalBestIncumbentValue, BbParaSolver::nSolvedWithNoPreprocesses, ScipParaSolver::scip, and ScipParaSolver::scipToCheckEffectOfRootNodeProcesses.
|
virtual |
Implements BbParaSolver.
Definition at line 2564 of file scipParaSolver.cpp.
References ScipParaSolution::getNVars(), ScipParaSolution::getValues(), ScipParaSolution::indexAmongSolvers(), ScipParaSolver::isCopyIncreasedVariables(), ScipParaSolver::mapToProbIndecies, ScipParaSolver::scip, and THROW_LOGICAL_ERROR1.
|
protectedvirtual |
Reimplemented from BbParaSolver.
Definition at line 3061 of file scipParaSolver.cpp.
References ScipParaObjProp::addBoundChange(), ScipParaSolver::mapToProbIndecies, ScipParaSolver::mapToSolverLocalIndecies, UG::NoTerminationMode, ScipParaSolver::orgVarLbs, ScipParaSolver::orgVarUbs, PARA_COMM_CALL, ParaSolver::paraComm, UG::ParaDOUBLE, UG::ParaINT, ParaComm::receive(), ScipParaSolver::scip, ScipParaSolver::scipPropagator, UG::TagUbBoundTightenedBound, UG::TagUbBoundTightenedIndex, ParaSolver::terminationMode, and ScipParaSolver::tightenedVarUbs.
|
virtual |
Implements BbParaSolver.
Definition at line 314 of file scipParaSolver.h.
|
virtual |
Implements BbParaSolver.
Definition at line 2534 of file scipParaSolver.cpp.
References ScipParaSolver::scip.
|
virtual |
Implements BbParaSolver.
Definition at line 2687 of file scipParaSolver.cpp.
References ParaSolver::currentTask, ParaTask::getDiffSubproblem(), ParaComm::getRank(), ParaSolver::paraComm, and ScipParaSolver::scip.
Referenced by ScipParaSolver::solve().
|
protected |
Definition at line 132 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::freeSubproblem(), and ScipParaSolver::~ScipParaSolver().
|
protected |
Definition at line 133 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), and ScipParaSolver::freeSubproblem().
|
protected |
indicate that collecting mode is prohibited
Definition at line 138 of file scipParaSolver.h.
Referenced by ScipParaSolver::allowCollectingMode(), ScipParaSolver::isCollectingModeProhibited(), and ScipParaSolver::prohibitCollectingMode().
|
protected |
Definition at line 89 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::isInterrupting(), ScipParaSolver::issueInterruptSolve(), ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), and ScipParaSolver::setOriginalNodeSelectionStrategy().
|
protected |
Definition at line 86 of file scipParaSolver.h.
Referenced by ScipParaSolver::getConflictConsList(), ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), ScipParaSolver::solve(), and ScipParaSolver::~ScipParaSolver().
|
protected |
indicate that SCIP copy increaded variables
Definition at line 145 of file scipParaSolver.h.
Referenced by ScipParaSolver::copyIncrasedVariables(), ScipParaSolver::isCopyIncreasedVariables(), and ScipParaSolver::saveOrgProblemBounds().
|
protected |
Definition at line 136 of file scipParaSolver.h.
Referenced by ScipParaSolver::reinitialize().
|
protected |
interrupt message monitor
Definition at line 97 of file scipParaSolver.h.
Referenced by ScipParaSolver::ScipParaSolver(), and ScipParaSolver::~ScipParaSolver().
|
protected |
Definition at line 84 of file scipParaSolver.h.
Referenced by ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), and ScipParaSolver::~ScipParaSolver().
|
protected |
array of indices to map to original problem's probindices
Definition at line 111 of file scipParaSolver.h.
Referenced by ScipParaSolver::getOriginalIndex(), ScipParaSolver::isOriginalIndeciesMap(), ScipParaSolver::saveOrgProblemBounds(), and ScipParaSolver::~ScipParaSolver().
|
protected |
map from index to probindex
Definition at line 113 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::getProbIndex(), ScipParaSolver::isProbIndeciesMap(), ScipParaSolver::lbBoundTightened(), ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::tryNewSolution(), ScipParaSolver::ubBoundTightened(), and ScipParaSolver::~ScipParaSolver().
|
protected |
array of reverse indices mapToOriginalIndecies
Definition at line 112 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::lbBoundTightened(), ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::ubBoundTightened(), and ScipParaSolver::~ScipParaSolver().
|
protected |
Definition at line 83 of file scipParaSolver.h.
Referenced by ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), and ScipParaSolver::~ScipParaSolver().
|
protected |
Definition at line 128 of file scipParaSolver.h.
Referenced by ScipParaSolver::recoverOriginalSettings(), and ScipParaSolver::saveOriginalSettings().
|
protected |
Definition at line 131 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), and ScipParaSolver::freeSubproblem().
|
protected |
Definition at line 90 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::reinitialize(), and ScipParaSolver::ScipParaSolver().
|
protected |
number of original variables in LC
Definition at line 105 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::freeSubproblem(), ScipParaSolver::getNOrgVars(), and ScipParaSolver::saveOrgProblemBounds().
|
protected |
number of original variables in Solvers
Definition at line 106 of file scipParaSolver.h.
Referenced by ScipParaSolver::freeSubproblem(), and ScipParaSolver::saveOrgProblemBounds().
|
protected |
number of nodes left in the previous notification
Definition at line 100 of file scipParaSolver.h.
Referenced by ScipParaSolver::getNPreviousNodesLeft(), ScipParaSolver::setNPreviousNodesLeft(), and ScipParaSolver::solve().
|
protected |
original feasibility tolerance
Definition at line 142 of file scipParaSolver.h.
Referenced by ScipParaSolver::ScipParaSolver(), and ScipParaSolver::solve().
|
protected |
original lp feasibility tolerance
Definition at line 143 of file scipParaSolver.h.
Referenced by ScipParaSolver::ScipParaSolver(), and ScipParaSolver::solve().
|
protected |
original value of presolving/maxrestart parameter
Definition at line 103 of file scipParaSolver.h.
Referenced by ScipParaSolver::getOriginalMaxRestart(), and ScipParaSolver::setOriginalMaxRestart().
|
protected |
array of original lower bound of variable
Definition at line 107 of file scipParaSolver.h.
Referenced by ScipParaSolver::freeSubproblem(), ScipParaSolver::getOrgVarLb(), ScipParaSolver::lbBoundTightened(), ScipParaSolver::reinitialize(), ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::setOrgVarLb(), ScipParaSolver::ubBoundTightened(), and ScipParaSolver::~ScipParaSolver().
|
protected |
array of original upper bound of variable
Definition at line 108 of file scipParaSolver.h.
Referenced by ScipParaSolver::freeSubproblem(), ScipParaSolver::getOrgVarUb(), ScipParaSolver::lbBoundTightened(), ScipParaSolver::reinitialize(), ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::setOrgVarUb(), ScipParaSolver::ubBoundTightened(), and ScipParaSolver::~ScipParaSolver().
|
protected |
Definition at line 85 of file scipParaSolver.h.
Referenced by ScipParaSolver::setLightWeightRootNodeProcess(), and ScipParaSolver::setOriginalRootNodeProcess().
|
protected |
original priority of changing node selector
Definition at line 102 of file scipParaSolver.h.
Referenced by ScipParaSolver::getOriginalPriority(), ScipParaSolver::saveOriginalPriority(), and ScipParaSolver::setOriginalPriority().
|
protected |
keep the name for restart, in case of file read
Definition at line 140 of file scipParaSolver.h.
Referenced by ScipParaSolver::reinitialize(), and ScipParaSolver::setProblemFileName().
|
protected |
Definition at line 137 of file scipParaSolver.h.
Referenced by ScipParaSolver::reinitialize(), and ScipParaSolver::ScipParaSolver().
|
protected |
Definition at line 79 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::dropSettingsForVariableBoundsExchnage(), ScipParaSolver::freeSubproblem(), ScipParaSolver::getDualBoundValue(), ScipParaSolver::getNNodesLeft(), ScipParaSolver::getNNodesSolved(), ScipParaSolver::getNRestarts(), ScipParaSolver::getScip(), ScipParaSolver::getSimplexIter(), ScipParaSolver::issueInterruptSolve(), ScipParaSolver::lbBoundTightened(), ScipParaSolver::processTagInterruptRequest(), ScipParaSolver::recoverOriginalSettings(), ScipParaSolver::reinitialize(), ScipParaSolver::saveImprovedSolution(), ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::saveOriginalPriority(), ScipParaSolver::saveOriginalSettings(), ScipParaSolver::ScipParaSolver(), ScipParaSolver::setBakSettings(), ScipParaSolver::setLightWeightRootNodeProcess(), ScipParaSolver::setOriginalMaxRestart(), ScipParaSolver::setOriginalNodeSelectionStrategy(), ScipParaSolver::setOriginalPriority(), ScipParaSolver::setOriginalRootNodeProcess(), ScipParaSolver::setRacingParams(), ScipParaSolver::setWinnerRacingParams(), ScipParaSolver::solve(), ScipParaSolver::solveToCheckEffectOfRootNodePreprocesses(), ScipParaSolver::tryNewSolution(), ScipParaSolver::ubBoundTightened(), ScipParaSolver::writeCurrentTaskProblem(), ScipParaSolver::writeSubproblem(), and ScipParaSolver::~ScipParaSolver().
|
protected |
Definition at line 82 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), ScipParaSolver::setOriginalNodeSelectionStrategy(), and ScipParaSolver::~ScipParaSolver().
|
protected |
Definition at line 81 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), and ScipParaSolver::~ScipParaSolver().
|
protected |
Definition at line 95 of file scipParaSolver.h.
Referenced by ScipParaSolver::getNTightened(), ScipParaSolver::getNTightenedInt(), ScipParaSolver::lbBoundTightened(), ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), and ScipParaSolver::ubBoundTightened().
|
protected |
Definition at line 80 of file scipParaSolver.h.
Referenced by ScipParaSolver::reinitialize(), ScipParaSolver::ScipParaSolver(), ScipParaSolver::solveToCheckEffectOfRootNodePreprocesses(), and ScipParaSolver::~ScipParaSolver().
|
protected |
parameter settings file name for LC
Definition at line 135 of file scipParaSolver.h.
Referenced by ScipParaSolver::reinitialize(), and ScipParaSolver::ScipParaSolver().
|
protected |
array of tightened lower bound of variable
Definition at line 109 of file scipParaSolver.h.
Referenced by ScipParaSolver::getTightenedVarLb(), ScipParaSolver::lbBoundTightened(), ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::setTightenedVarLb(), and ScipParaSolver::~ScipParaSolver().
|
protected |
array of tightened upper bound of variable
Definition at line 110 of file scipParaSolver.h.
Referenced by ScipParaSolver::getTightenedVarUb(), ScipParaSolver::saveOrgProblemBounds(), ScipParaSolver::setTightenedVarUb(), ScipParaSolver::ubBoundTightened(), and ScipParaSolver::~ScipParaSolver().
|
protected |
Definition at line 87 of file scipParaSolver.h.
Referenced by ScipParaSolver::createSubproblem(), ScipParaSolver::includeUserPlugins(), ScipParaSolver::setRacingParams(), ScipParaSolver::setUserPlugins(), ScipParaSolver::setWinnerRacingParams(), ScipParaSolver::solve(), and ScipParaSolver::~ScipParaSolver().