Detailed Description
methods for collecting primal CIP solutions and primal informations
Definition in file primal.c.
#include <assert.h>#include "scip/def.h"#include "scip/set.h"#include "scip/stat.h"#include "scip/visual.h"#include "scip/event.h"#include "scip/lp.h"#include "scip/lpexact.h"#include "scip/var.h"#include "scip/prob.h"#include "scip/sol.h"#include "scip/primal.h"#include "scip/tree.h"#include "scip/reopt.h"#include "scip/disp.h"#include "scip/struct_event.h"#include "scip/struct_lpexact.h"#include "scip/pub_message.h"#include "scip/pub_var.h"#include "scip/scip_message.h"#include "scip/scip_solvingstats.h"Go to the source code of this file.
Function Documentation
◆ ensureSolsSize()
|
static |
ensures, that sols array can store at least num entries
- Parameters
-
primal primal data set global SCIP settings num minimum number of entries to store
Definition at line 63 of file primal.c.
References BMSreallocMemoryArray, SCIP_Primal::nsols, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_Primal::sols, and SCIP_Primal::solssize.
Referenced by primalAddOrigSol(), and primalAddSol().
◆ ensurePartialsolsSize()
|
static |
ensures, that partialsols array can store at least num entries
- Parameters
-
primal primal data set global SCIP settings num minimum number of entries to store
Definition at line 86 of file primal.c.
References BMSreallocMemoryArray, MIN, SCIP_Primal::npartialsols, SCIP_Primal::partialsols, SCIP_Primal::partialsolssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by primalAddOrigPartialSol().
◆ ensureExistingsolsSize()
|
static |
ensures, that existingsols array can store at least num entries
- Parameters
-
primal primal data set global SCIP settings num minimum number of entries to store
Definition at line 111 of file primal.c.
References BMSreallocMemoryArray, SCIP_Primal::existingsols, SCIP_Primal::existingsolssize, SCIP_Primal::nexistingsols, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPprimalSolCreated().
◆ SCIPprimalCreate()
| SCIP_RETCODE SCIPprimalCreate | ( | SCIP_PRIMAL ** | primal | ) |
creates primal data
- Parameters
-
primal pointer to primal data
Definition at line 133 of file primal.c.
References BMSallocMemory, NULL, SCIP_ALLOC, SCIP_INVALID, SCIP_OKAY, and TRUE.
Referenced by copyProb(), SCIPcreateProb(), and SCIPtransformProb().
◆ SCIPprimalFree()
| SCIP_RETCODE SCIPprimalFree | ( | SCIP_PRIMAL ** | primal, |
| BMS_BLKMEM * | blkmem | ||
| ) |
frees primal data
- Parameters
-
primal pointer to primal data blkmem block memory
Definition at line 165 of file primal.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, SCIPprimalClear(), and SCIPrationalFreeBlock().
Referenced by freeTransform(), freeTransforming(), and SCIPfreeProb().
◆ SCIPprimalClear()
| SCIP_RETCODE SCIPprimalClear | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem | ||
| ) |
clears primal data
- Parameters
-
primal pointer to primal data blkmem block memory
Definition at line 190 of file primal.c.
References SCIP_Primal::currentsol, SCIP_Primal::cutoffbound, SCIP_Primal::nbestsolsfound, SCIP_Primal::nexistingsols, SCIP_Primal::nlimbestsolsfound, SCIP_Primal::nlimsolsfound, SCIP_Primal::npartialsols, SCIP_Primal::nsols, SCIP_Primal::nsolsfound, NULL, SCIP_Primal::partialsols, SCIP_Primal::primalray, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPsolFree(), SCIP_Primal::sols, TRUE, SCIP_Primal::updateviolations, and SCIP_Primal::upperbound.
Referenced by freeReoptSolve(), and SCIPprimalFree().
◆ sortPrimalSols()
|
static |
sorts primal solutions by objective value
- Parameters
-
primal primal data set global SCIP settings origprob original problem transprob transformed problem
Definition at line 241 of file primal.c.
References SCIP_Primal::nsols, SCIP_Real, SCIPsolGetObj(), and SCIP_Primal::sols.
Referenced by SCIPprimalRetransformSolutions(), SCIPprimalUpdateObjoffset(), and SCIPprimalUpdateObjoffsetExact().
◆ primalSetCutoffbound()
|
static |
sets the cutoff bound in primal data and in LP solver
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data prob problem data eventqueue event queue eventfilter global event filter tree branch and bound tree reopt reoptimization data structure lp current LP data cutoffbound new cutoff bound
Definition at line 268 of file primal.c.
References SCIP_Primal::cutoffbound, SCIP_Primal::cutoffboundexact, MIN, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPlpSetCutoffbound(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsGT(), SCIPrationalSetRational(), SCIPrationalSetReal(), SCIPsetDebugMsg, SCIPsetInfinity(), SCIPsetIsLE(), SCIPtreeCutoff(), SCIPtreeInRepropagation(), and SCIP_Primal::upperbound.
Referenced by primalSetUpperbound(), SCIPprimalSetCutoffbound(), SCIPprimalUpdateObjlimit(), and SCIPprimalUpdateObjoffset().
◆ primalSetCutoffboundExact()
|
static |
sets the cutoff bound in primal data and in LP solver
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data prob problem data eventqueue event queue eventfilter global event filter tree branch and bound tree reopt reoptimization data structure lp current LP data cutoffbound new cutoff bound
Definition at line 314 of file primal.c.
References SCIP_Primal::cutoffbound, SCIP_Primal::cutoffboundexact, NULL, SCIP_CALL, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIPlpSetCutoffbound(), SCIPrationalDebugMessage, SCIPrationalIsLEReal(), SCIPrationalMin(), SCIPrationalRoundReal(), SCIPsetInfinity(), SCIPtreeCutoff(), SCIPtreeInRepropagation(), and SCIP_Primal::upperboundexact.
Referenced by primalSetUpperboundExact(), and SCIPprimalUpdateObjoffsetExact().
◆ SCIPprimalSetCutoffbound()
| SCIP_RETCODE SCIPprimalSetCutoffbound | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_Real | cutoffbound, | ||
| SCIP_Bool | useforobjlimit | ||
| ) |
sets the cutoff bound in primal data and in LP solver
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data eventqueue event queue eventfilter global event filter transprob transformed problem data origprob original problem data tree branch and bound tree reopt reoptimization data structure lp current LP data cutoffbound new cutoff bound useforobjlimit should the cutoff bound be used to update the objective limit, if better?
Definition at line 348 of file primal.c.
References SCIP_Primal::cutoffbound, NULL, primalSetCutoffbound(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPprobExternObjval(), SCIPprobGetObjlim(), SCIPprobSetObjlim(), SCIPsetDebugMsg, and SCIPsetInfinity().
Referenced by initSolve(), and SCIPupdateCutoffbound().
◆ primalSetUpperbound()
|
static |
sets upper bound in primal data and in LP solver
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data eventqueue event queue eventfilter global event filter prob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data upperbound new upper bound
Definition at line 402 of file primal.c.
References MIN, SCIP_Stat::nnodes, NULL, primalSetCutoffbound(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPprobIsObjIntegral(), SCIPsetCutoffbounddelta(), SCIPsetDebugMsg, SCIPsetFeasCeil(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPtreeGetCurrentDepth(), SCIPvisualUpperbound(), SCIP_Primal::upperbound, and SCIP_Stat::visual.
Referenced by SCIPprimalSetUpperbound(), SCIPprimalUpdateObjlimit(), and SCIPprimalUpdateObjoffset().
◆ primalSetUpperboundExact()
|
static |
sets upper bound in primal data and in LP solver
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data eventqueue event queue eventfilter global event filter prob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data upperbound new upper bound
Definition at line 458 of file primal.c.
References SCIP_Primal::cutoffboundexact, SCIP_Stat::nnodes, NULL, primalSetCutoffboundExact(), SCIP_CALL, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIP_Real, SCIPprobIsObjIntegral(), SCIPrationalAddReal(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffReal(), SCIPrationalFreeBuffer(), SCIPrationalIsInfinity(), SCIPrationalIsLEReal(), SCIPrationalIsLT(), SCIPrationalRoundInteger(), SCIPrationalRoundReal(), SCIPrationalSetRational(), SCIPsetCutoffbounddelta(), SCIPsetInfinity(), SCIPtreeGetCurrentDepth(), SCIPvisualUpperbound(), SCIP_Primal::upperbound, SCIP_Primal::upperboundexact, and SCIP_Stat::visual.
Referenced by primalAddSol(), and SCIPprimalUpdateObjoffsetExact().
◆ SCIPprimalSetUpperbound()
| SCIP_RETCODE SCIPprimalSetUpperbound | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_PROB * | prob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_Real | upperbound | ||
| ) |
sets upper bound in primal data and in LP solver
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data eventqueue event queue eventfilter global event filter prob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data upperbound new upper bound
Definition at line 518 of file primal.c.
References NULL, primalSetUpperbound(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPsetInfinity(), and SCIP_Primal::upperbound.
Referenced by primalAddSol(), and SCIPprimalRetransformSolutions().
◆ SCIPprimalUpdateObjlimit()
| SCIP_RETCODE SCIPprimalUpdateObjlimit | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp | ||
| ) |
updates upper bound and cutoff bound in primal data after a tightening of the problem's objective limit
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data eventqueue event queue eventfilter global event filter transprob transformed problem data origprob original problem data tree branch and bound tree reopt reoptimization data structure lp current LP data
Definition at line 550 of file primal.c.
References MIN, NULL, primalSetCutoffbound(), primalSetUpperbound(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPprobGetObjlim(), SCIPprobInternObjval(), and SCIPsetInfinity().
Referenced by initSolve(), presolve(), SCIPsetObjlimit(), and SCIPtransformProb().
◆ SCIPprimalUpdateObjoffset()
| SCIP_RETCODE SCIPprimalUpdateObjoffset | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp | ||
| ) |
recalculates upper bound and cutoff bound in primal data after a change of the problem's objective offset
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data eventqueue event queue eventfilter global event filter transprob tranformed problem data origprob original problem data tree branch and bound tree reopt reoptimization data structure lp current LP data
Definition at line 590 of file primal.c.
References MIN, SCIP_Primal::nsols, NULL, primalSetCutoffbound(), primalSetUpperbound(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIPprobGetObjlim(), SCIPprobInternObjval(), SCIPsetGetStage(), SCIPsetInfinity(), SCIPsolGetObj(), SCIPsolIsOriginal(), SCIP_Primal::sols, and sortPrimalSols().
Referenced by probCheckObjIntegralExact(), SCIPaddObjoffset(), SCIPprobCheckObjIntegral(), SCIPprobScaleObj(), and SCIPvarAddObj().
◆ SCIPprimalUpdateObjoffsetExact()
| SCIP_RETCODE SCIPprimalUpdateObjoffsetExact | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp | ||
| ) |
recalculates upper bound and cutoff bound in primal data after a change of the problem's objective offset
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data eventqueue event queue eventfilter global event filter transprob tranformed problem data origprob original problem data tree branch and bound tree reopt reoptimization data structure lp current LP data
Definition at line 646 of file primal.c.
References SCIP_Primal::nsols, NULL, primalSetCutoffboundExact(), primalSetUpperboundExact(), SCIP_CALL, SCIP_OKAY, SCIP_STAGE_PRESOLVED, SCIPprobGetObjlim(), SCIPprobInternObjvalExact(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalMin(), SCIPrationalSetInfinity(), SCIPrationalSetReal(), SCIPsetGetStage(), SCIPsolGetObj(), SCIPsolGetObjExact(), SCIPsolIsExact(), SCIPsolIsOriginal(), SCIP_Primal::sols, and sortPrimalSols().
Referenced by probScaleObjExact(), and SCIPvarAddObjExact().
◆ SCIPprimalAddOrigObjoffset()
| void SCIPprimalAddOrigObjoffset | ( | SCIP_PRIMAL * | primal, |
| SCIP_SET * | set, | ||
| SCIP_Real | addval | ||
| ) |
adds additional objective offset in original space to all existing solution (in original space)
- Parameters
-
primal primal data set global SCIP settings addval additional objective offset in original space
Definition at line 719 of file primal.c.
References SCIP_Primal::existingsols, SCIP_Primal::nexistingsols, SCIP_Primal::nsols, NULL, SCIP_SOLORIGIN_ORIGINAL, SCIP_STAGE_PROBLEM, SCIPsetGetStage(), SCIPsetIsLE(), SCIPsolGetOrigin(), SCIPsolGetOrigObj(), SCIPsolOrigAddObjval(), and SCIP_Primal::sols.
Referenced by SCIPaddOrigObjoffset().
◆ SCIPprimalAddOrigObjoffsetExact()
| void SCIPprimalAddOrigObjoffsetExact | ( | SCIP_PRIMAL * | primal, |
| SCIP_SET * | set, | ||
| SCIP_RATIONAL * | addval | ||
| ) |
adds additional objective offset in original space to all existing solution (in original space)
- Parameters
-
primal primal data set global SCIP settings addval additional objective offset in original space
Definition at line 752 of file primal.c.
References SCIP_Primal::existingsols, SCIP_Primal::nexistingsols, SCIP_Primal::nsols, NULL, SCIP_SOLORIGIN_ORIGINAL, SCIP_STAGE_PROBLEM, SCIPsetGetStage(), SCIPsetIsLE(), SCIPsolGetOrigin(), SCIPsolGetOrigObj(), SCIPsolOrigAddObjvalExact(), and SCIP_Primal::sols.
Referenced by SCIPaddOrigObjoffsetExact().
◆ SCIPprimalUpperboundIsSol()
| SCIP_Bool SCIPprimalUpperboundIsSol | ( | SCIP_PRIMAL * | primal, |
| SCIP_SET * | set, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_PROB * | origprob | ||
| ) |
returns whether the current primal bound is justified with a feasible primal solution; if not, the primal bound was set from the user as objective limit
- Parameters
-
primal primal data set global SCIP settings transprob tranformed problem data origprob original problem data
Definition at line 787 of file primal.c.
References SCIP_Primal::nsols, NULL, SCIPsetIsEQ(), SCIPsolGetObj(), SCIP_Primal::sols, and SCIP_Primal::upperbound.
Referenced by SCIPisPrimalboundSol().
◆ SCIPprimalGetRay()
| SCIP_SOL * SCIPprimalGetRay | ( | SCIP_PRIMAL * | primal | ) |
returns the primal ray thats proves unboundedness
- Parameters
-
primal primal data
Definition at line 800 of file primal.c.
References NULL, and SCIP_Primal::primalray.
◆ SCIPprimalUpdateRay()
| SCIP_RETCODE SCIPprimalUpdateRay | ( | SCIP_PRIMAL * | primal, |
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_SOL * | primalray, | ||
| BMS_BLKMEM * | blkmem | ||
| ) |
update the primal ray thats proves unboundedness
- Parameters
-
primal primal data set global SCIP settings stat dynamic SCIP statistics primalray the new primal ray blkmem block memory
Definition at line 810 of file primal.c.
References NULL, SCIP_Primal::primalray, SCIP_CALL, SCIP_OKAY, SCIPsolCopy(), and SCIPsolFree().
Referenced by SCIPupdatePrimalRay().
◆ primalAddSolExact()
|
static |
forward declaration; adds exact primal solution to solution storage at given position
adds exact primal solution to solution storage at given position
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lpexact current LP data eventqueue event queue eventfilter event filter for global (not variable dependent) events solptr pointer to primal CIP solution insertpos position in solution storage to add solution to replace should the solution at insertpos be replaced by the new solution?
Definition at line 2323 of file primal.c.
References FALSE, SCIP_LpExact::fplp, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebug, SCIPprimalAddSolFree(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPsetDebugMsg, SCIPsolGetObjExact(), SCIPsolOverwriteFPSolWithExact(), SCIPsolPrintExact(), SCIPsolUnlinkExact(), and SCIPtreeInRepropagation().
Referenced by primalAddSol(), SCIPprimalAddSol(), SCIPprimalAddSolFreeExact(), and SCIPprimalTrySolFreeExact().
◆ primalAddSol()
|
static |
adds primal solution to solution storage at given position
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data eventqueue event queue eventfilter global event filter solptr pointer to primal CIP solution insertpos position in solution storage to add solution to replace should the solution at insertpos be replaced by the new solution?
Definition at line 859 of file primal.c.
References SCIP_Stat::bestsolnode, ensureSolsSize(), FALSE, SCIP_Stat::firstprimalbound, SCIP_Stat::firstprimaldepth, SCIP_Stat::firstprimalheur, SCIP_Stat::firstprimaltime, SCIP_Lp::lpexact, MIN, SCIP_Primal::nbestsolsfound, SCIP_Primal::nlimsolsfound, SCIP_Stat::nnodes, SCIP_Stat::nnodesbeforefirst, SCIP_Stat::nrunsbeforefirst, SCIP_Primal::nsols, SCIP_Primal::nsolsfound, NULL, primalAddSolExact(), primalSetUpperboundExact(), SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_BESTSOLFOUND, SCIP_EVENTTYPE_POORSOLFOUND, SCIP_LONGINT_FORMAT, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_ORIGINAL, SCIP_STAGE_PRESOLVED, SCIP_STAGE_SOLVING, SCIPdebug, SCIPdebugSolIsEnabled, SCIPdispPrintLine(), SCIPerrorMessage, SCIPeventChgSol(), SCIPeventChgType(), SCIPeventProcess(), SCIPgetDualbound(), SCIPgetLowerbound(), SCIPmessagePrintWarning(), SCIPprimalSetUpperbound(), SCIPprimalTransformSol(), SCIPprobExternObjval(), SCIPprobGetObjlim(), SCIPprobGetObjsense(), SCIPprobInternObjval(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsLT(), SCIPsetDebugMsg, SCIPsetGetStage(), SCIPsetIsFeasGE(), SCIPsetIsFeasGT(), SCIPsetIsFeasLE(), SCIPsetIsInfinity(), SCIPsolCheck(), SCIPsolFree(), SCIPsolGetDepth(), SCIPsolGetHeur(), SCIPsolGetNodenum(), SCIPsolGetObj(), SCIPsolGetObjExact(), SCIPsolGetOrigin(), SCIPsolGetOrigObj(), SCIPsolGetRunnum(), SCIPsolGetTime(), SCIPsolIsExact(), SCIPsolIsOriginal(), SCIPsolMakeExact(), SCIPsolPrint(), SCIPsolRetransform(), SCIPsolTransform(), SCIPsolUnlink(), SCIPsolUpdateVarsum(), SCIPtreeGetCurrentNode(), SCIPtreeInRepropagation(), SCIPvisualFoundSolution(), SCIP_Primal::sols, TRUE, SCIP_Primal::upperboundexact, and SCIP_Stat::visual.
Referenced by SCIPprimalAddSol(), SCIPprimalAddSolFree(), SCIPprimalTrySol(), and SCIPprimalTrySolFree().
◆ primalAddOrigSol()
|
static |
adds primal solution to solution storage at given position
- Parameters
-
primal primal data blkmem block memory set global SCIP settings prob original problem data sol primal CIP solution insertpos position in solution storage to add solution to
Definition at line 1122 of file primal.c.
References ensureSolsSize(), MIN, SCIP_Primal::nlimsolsfound, SCIP_Primal::nsols, SCIP_Primal::nsolsfound, NULL, SCIP_CALL, SCIP_LONGINT_FORMAT, SCIP_OKAY, SCIPprobGetObjlim(), SCIPsetDebugMsg, SCIPsetIsFeasLE(), SCIPsolFree(), SCIPsolGetOrigObj(), and SCIP_Primal::sols.
Referenced by SCIPprimalAddOrigSol(), and SCIPprimalAddOrigSolFree().
◆ primalAddOrigPartialSol()
|
static |
adds primal solution to solution storage
- Parameters
-
primal primal data set global SCIP settings prob original problem data sol primal CIP solution
Definition at line 1174 of file primal.c.
References ensurePartialsolsSize(), SCIP_Primal::npartialsols, NULL, SCIP_Primal::partialsols, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPerrorMessage, and SCIPsetDebugMsg.
Referenced by SCIPprimalAddOrigSol(), and SCIPprimalAddOrigSolFree().
◆ primalSearchSolPos()
|
static |
uses binary search to find position in solution storage
- Parameters
-
primal primal data set global SCIP settings transprob tranformed problem data origprob original problem data sol primal solution to search position for
Definition at line 1205 of file primal.c.
References SCIP_Primal::nsols, NULL, SCIP_Real, SCIPsetIsEQ(), SCIPsolGetObj(), SCIPsolIsOriginal(), and SCIP_Primal::sols.
Referenced by solOfInterest().
◆ primalSearchOrigSolPos()
|
static |
uses binary search to find position in solution storage
- Parameters
-
primal primal data sol primal solution to search position for
Definition at line 1255 of file primal.c.
References SCIP_Primal::nsols, NULL, SCIP_Real, SCIPsolGetOrigObj(), and SCIP_Primal::sols.
Referenced by origsolOfInterest().
◆ primalExistsSol()
|
static |
returns whether the given primal solution is already existent in the solution storage
- Parameters
-
primal primal data set global SCIP settings stat problem statistics data origprob original problem transprob transformed problem after presolve sol primal solution to search position for insertpos pointer to insertion position returned by primalSearchSolPos(); the position might be changed if an existing solution should be replaced replace pointer to store whether the solution at insertpos should be replaced
Definition at line 1290 of file primal.c.
References FALSE, SCIP_Primal::nsols, NULL, REALABS, SCIP_Real, SCIP_STAGE_PRESOLVED, SCIPsetEpsilon(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsolGetObj(), SCIPsolIsOriginal(), SCIPsolsAreEqual(), SCIP_Primal::sols, and TRUE.
Referenced by solOfInterest().
◆ primalExistsOrigSol()
|
static |
returns whether the given primal solution is already existent in the original solution candidate storage
- Parameters
-
primal primal data set global SCIP settings stat problem statistics data prob original problem sol primal solution to search position for insertpos insertion position returned by primalSearchOrigSolPos()
Definition at line 1372 of file primal.c.
References FALSE, SCIP_Primal::nsols, NULL, SCIP_Real, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsolGetOrigObj(), SCIPsolsAreEqual(), SCIP_Primal::sols, and TRUE.
Referenced by origsolOfInterest().
◆ solOfInterest()
|
static |
check if we are willing to check the solution for feasibility
- Parameters
-
primal primal data set global SCIP settings stat problem statistics data origprob original problem transprob transformed problem after presolve sol primal CIP solution insertpos pointer to store the insert position of that solution replace pointer to store whether the solution at insertpos should be replaced (e.g., because it lives in the original space)
Definition at line 1424 of file primal.c.
References SCIP_Primal::cutoffbound, SCIP_Primal::cutoffboundexact, FALSE, primalExistsSol(), primalSearchSolPos(), SCIP_Bool, SCIP_CALL_ABORT, SCIP_Real, SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsInfinity(), SCIPrationalIsLT(), SCIPrationalSetReal(), SCIPsetIsInfinity(), SCIPsolGetObj(), SCIPsolGetObjExact(), SCIPsolIsExact(), SCIPwarningMessage(), and TRUE.
Referenced by SCIPprimalAddSol(), SCIPprimalAddSolFree(), SCIPprimalAddSolFreeExact(), SCIPprimalTrySol(), SCIPprimalTrySolFree(), and SCIPprimalTrySolFreeExact().
◆ origsolOfInterest()
|
static |
check if we are willing to store the solution candidate for later checking
- Parameters
-
primal primal data set global SCIP settings stat problem statistics data origprob original problem sol primal CIP solution insertpos pointer to store the insert position of that solution
Definition at line 1502 of file primal.c.
References FALSE, primalExistsOrigSol(), primalSearchOrigSolPos(), SCIPsolIsOriginal(), and TRUE.
Referenced by SCIPprimalAddOrigSol(), and SCIPprimalAddOrigSolFree().
◆ SCIPprimalAddSol()
| SCIP_RETCODE SCIPprimalAddSol | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_SOL * | sol, | ||
| SCIP_Bool * | stored | ||
| ) |
adds primal solution to solution storage by copying it
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data eventqueue event queue eventfilter global event filter sol primal CIP solution stored stores whether given solution was good enough to keep
Definition at line 1523 of file primal.c.
References FALSE, SCIP_Lp::lpexact, SCIP_Primal::nsols, NULL, primalAddSol(), primalAddSolExact(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsetIsLE(), SCIPsolCopy(), SCIPsolGetObj(), SCIPsolIsExact(), SCIPsolIsPartial(), solOfInterest(), SCIP_Primal::sols, and TRUE.
Referenced by SCIPaddSol(), SCIPprimalAddCurrentSol(), SCIPtransformProb(), and SCIPtrySol().
◆ SCIPprimalAddSolFree()
| SCIP_RETCODE SCIPprimalAddSolFree | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_SOL ** | sol, | ||
| SCIP_Bool * | stored | ||
| ) |
adds primal solution to solution storage, frees the solution afterwards
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data eventqueue event queue eventfilter global event filter sol pointer to primal CIP solution; is cleared in function call stored stores whether given solution was good enough to keep
Definition at line 1599 of file primal.c.
References FALSE, NULL, primalAddSol(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsolFree(), solOfInterest(), and TRUE.
Referenced by addCurrentSolution(), primalAddSolExact(), SCIPaddSolFree(), and SCIPtrySolFree().
◆ SCIPprimalAddOrigSol()
| SCIP_RETCODE SCIPprimalAddOrigSol | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | prob, | ||
| SCIP_SOL * | sol, | ||
| SCIP_Bool * | stored | ||
| ) |
adds primal solution to solution candidate storage of original problem space
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data prob original problem data sol primal CIP solution; is cleared in function call stored stores whether given solution was good enough to keep
Definition at line 1654 of file primal.c.
References FALSE, NULL, origsolOfInterest(), primalAddOrigPartialSol(), primalAddOrigSol(), SCIP_CALL, SCIP_OKAY, SCIPsolCopy(), SCIPsolIsOriginal(), SCIPsolIsPartial(), and TRUE.
Referenced by freeTransform(), and SCIPaddSol().
◆ SCIPprimalAddOrigSolFree()
| SCIP_RETCODE SCIPprimalAddOrigSolFree | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | prob, | ||
| SCIP_SOL ** | sol, | ||
| SCIP_Bool * | stored | ||
| ) |
adds primal solution to solution candidate storage of original problem space, frees the solution afterwards
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data prob original problem data sol pointer to primal CIP solution; is cleared in function call stored stores whether given solution was good enough to keep
Definition at line 1709 of file primal.c.
References FALSE, NULL, origsolOfInterest(), primalAddOrigPartialSol(), primalAddOrigSol(), SCIP_CALL, SCIP_OKAY, SCIPsolFree(), SCIPsolIsOriginal(), SCIPsolIsPartial(), and TRUE.
Referenced by SCIPaddSolFree().
◆ primalLinkCurrentSol()
|
static |
links temporary solution of primal data to current solution
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data prob transformed problem data tree branch and bound tree lp current LP data heur heuristic that found the solution (or NULL if it's from the tree)
Definition at line 1766 of file primal.c.
References SCIP_Primal::currentsol, NULL, SCIP_CALL, SCIP_OKAY, SCIPsolCreateCurrentSol(), SCIPsolLinkCurrentSol(), and SCIPsolSetHeur().
Referenced by SCIPprimalAddCurrentSol(), and SCIPprimalTryCurrentSol().
◆ SCIPprimalAddCurrentSol()
| SCIP_RETCODE SCIPprimalAddCurrentSol | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_HEUR * | heur, | ||
| SCIP_Bool * | stored | ||
| ) |
adds current LP/pseudo solution to solution storage
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data eventqueue event queue eventfilter global event filter heur heuristic that found the solution (or NULL if it's from the tree) stored stores whether given solution was good enough to keep
Definition at line 1793 of file primal.c.
References SCIP_Primal::currentsol, NULL, primalLinkCurrentSol(), SCIP_CALL, SCIP_OKAY, and SCIPprimalAddSol().
Referenced by SCIPaddCurrentSol().
◆ SCIPprimalTrySol()
| SCIP_RETCODE SCIPprimalTrySol | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_SOL * | sol, | ||
| SCIP_Bool | printreason, | ||
| SCIP_Bool | completely, | ||
| SCIP_Bool | checkbounds, | ||
| SCIP_Bool | checkintegrality, | ||
| SCIP_Bool | checklprows, | ||
| SCIP_Bool * | stored | ||
| ) |
checks primal solution; if feasible, adds it to storage by copying it
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data eventqueue event queue eventfilter global event filter sol primal CIP solution printreason Should all reasons of violations be printed? completely Should all violations be checked? checkbounds Should the bounds of the variables be checked? checkintegrality Has integrality to be checked? checklprows Do constraints represented by rows in the current LP have to be checked? stored stores whether given solution was feasible and good enough to keep
Definition at line 1823 of file primal.c.
References FALSE, NULL, primalAddSol(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsolCheck(), SCIPsolCopy(), solOfInterest(), and TRUE.
Referenced by SCIPprimalTryCurrentSol(), SCIPtrySol(), solveNode(), and solveNodeLP().
◆ SCIPprimalTrySolFree()
| SCIP_RETCODE SCIPprimalTrySolFree | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_SOL ** | sol, | ||
| SCIP_Bool | printreason, | ||
| SCIP_Bool | completely, | ||
| SCIP_Bool | checkbounds, | ||
| SCIP_Bool | checkintegrality, | ||
| SCIP_Bool | checklprows, | ||
| SCIP_Bool * | stored | ||
| ) |
checks primal solution; if feasible, adds it to storage; solution is freed afterwards
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data eventqueue event queue eventfilter global event filter sol pointer to primal CIP solution; is cleared in function call printreason Should all the reasons of violations be printed? completely Should all violations be checked? checkbounds Should the bounds of the variables be checked? checkintegrality Has integrality to be checked? checklprows Do constraints represented by rows in the current LP have to be checked? stored stores whether solution was feasible and good enough to keep
Definition at line 1893 of file primal.c.
References FALSE, NULL, primalAddSol(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsolCheck(), SCIPsolFree(), solOfInterest(), and TRUE.
Referenced by addCurrentSolution(), SCIPprimalTransformSol(), SCIPtrySolFree(), solveNode(), and solveNodeLP().
◆ SCIPprimalTryCurrentSol()
| SCIP_RETCODE SCIPprimalTryCurrentSol | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_HEUR * | heur, | ||
| SCIP_Bool | printreason, | ||
| SCIP_Bool | completely, | ||
| SCIP_Bool | checkintegrality, | ||
| SCIP_Bool | checklprows, | ||
| SCIP_Bool * | stored | ||
| ) |
checks current LP/pseudo solution; if feasible, adds it to storage
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data eventqueue event queue eventfilter global event filter heur heuristic that found the solution (or NULL if it's from the tree) printreason Should all reasons of violations be printed? completely Should all violations be checked? checkintegrality Has integrality to be checked? checklprows Do constraints represented by rows in the current LP have to be checked? stored stores whether given solution was good enough to keep
Definition at line 1967 of file primal.c.
References SCIP_Primal::currentsol, FALSE, NULL, primalLinkCurrentSol(), SCIP_CALL, SCIP_OKAY, and SCIPprimalTrySol().
Referenced by SCIPtryCurrentSol().
◆ SCIPprimalSolCreated()
| SCIP_RETCODE SCIPprimalSolCreated | ( | SCIP_PRIMAL * | primal, |
| SCIP_SET * | set, | ||
| SCIP_SOL * | sol | ||
| ) |
inserts solution into the global array of all existing primal solutions
- Parameters
-
primal primal data set global SCIP settings sol primal CIP solution
Definition at line 2002 of file primal.c.
References ensureExistingsolsSize(), SCIP_Primal::existingsols, SCIP_Primal::nexistingsols, NULL, SCIP_CALL, SCIP_OKAY, SCIPsolGetPrimalIndex(), and SCIPsolSetPrimalIndex().
Referenced by SCIPsolCopy(), SCIPsolCreate(), SCIPsolCreateOriginal(), SCIPsolCreatePartial(), and SCIPsolCreateUnknown().
◆ SCIPprimalSolFreed()
| void SCIPprimalSolFreed | ( | SCIP_PRIMAL * | primal, |
| SCIP_SOL * | sol | ||
| ) |
removes solution from the global array of all existing primal solutions
- Parameters
-
primal primal data sol primal CIP solution
Definition at line 2024 of file primal.c.
References SCIP_Primal::existingsols, SCIP_Primal::nexistingsols, NULL, SCIPsolGetPrimalIndex(), and SCIPsolSetPrimalIndex().
Referenced by SCIPsolFree().
◆ SCIPprimalUpdateVarObj()
| void SCIPprimalUpdateVarObj | ( | SCIP_PRIMAL * | primal, |
| SCIP_VAR * | var, | ||
| SCIP_Real | oldobj, | ||
| SCIP_Real | newobj | ||
| ) |
updates all existing primal solutions after a change in a variable's objective value
- Parameters
-
primal primal data var problem variable oldobj old objective value newobj new objective value
Definition at line 2054 of file primal.c.
References SCIP_Primal::existingsols, SCIP_Primal::nexistingsols, NULL, SCIPsolIsOriginal(), and SCIPsolUpdateVarObj().
Referenced by SCIPeventProcess().
◆ SCIPprimalRetransformSolutions()
| SCIP_RETCODE SCIPprimalRetransformSolutions | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_STAT * | stat, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp | ||
| ) |
retransforms all existing solutions to original problem space
- Note
- as a side effect, the objective value of the solutions can change (numerical errors) so we update the objective cutoff value and upper bound accordingly
- Parameters
-
primal primal data blkmem block memory set global SCIP settings stat problem statistics data eventqueue event queue eventfilter global event filter origprob original problem transprob transformed problem tree branch and bound tree reopt reoptimization data structure lp current LP data
Definition at line 2077 of file primal.c.
References SCIP_Primal::nsols, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_ZERO, SCIPprimalSetUpperbound(), SCIPsolGetObj(), SCIPsolGetOrigin(), SCIPsolRetransform(), SCIP_Primal::sols, and sortPrimalSols().
Referenced by initPresolve().
◆ SCIPprimalTransformSol()
| SCIP_RETCODE SCIPprimalTransformSol | ( | SCIP_PRIMAL * | primal, |
| SCIP_SOL * | sol, | ||
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LP * | lp, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_Real * | solvals, | ||
| SCIP_Bool * | solvalset, | ||
| int | solvalssize, | ||
| SCIP_Bool * | added | ||
| ) |
tries to transform original solution to the transformed problem space
- Parameters
-
primal primal data sol primal solution blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lp current LP data eventqueue event queue eventfilter global event filter solvals array for internal use to store solution values, or NULL; if the method is called multiple times in a row, an array with size >= number of active variables should be given for performance reasons solvalset array for internal use to store which solution values were set, or NULL; if the method is called multiple times in a row, an array with size >= number of active variables should be given for performance reasons solvalssize size of solvals and solvalset arrays, should be >= number of active variables added pointer to store whether the solution was added
Definition at line 2126 of file primal.c.
References BMSclearMemoryArray, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPprimalTrySolFree(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsolCreate(), SCIPsolGetHeur(), SCIPsolGetOrigObj(), SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPsolSetVal(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), SCIPvarIsActive(), and TRUE.
Referenced by primalAddSol(), and transformSols().
◆ SCIPprimalUpdateViolations()
| SCIP_Bool SCIPprimalUpdateViolations | ( | SCIP_PRIMAL * | primal | ) |
is the updating of violations enabled for this problem?
- Parameters
-
primal problem data
Definition at line 2301 of file primal.c.
References NULL, and SCIP_Primal::updateviolations.
Referenced by SCIPsolCheckOrig(), SCIPupdateSolBoundViolation(), SCIPupdateSolConsViolation(), SCIPupdateSolIntegralityViolation(), SCIPupdateSolLPConsViolation(), and SCIPupdateSolLPRowViolation().
◆ SCIPprimalSetUpdateViolations()
| void SCIPprimalSetUpdateViolations | ( | SCIP_PRIMAL * | primal, |
| SCIP_Bool | updateviolations | ||
| ) |
set whether the updating of violations is turned on
- Parameters
-
primal problem data updateviolations marks whether the updating of violations is turned on
Definition at line 2311 of file primal.c.
References NULL, and SCIP_Primal::updateviolations.
Referenced by SCIPactivateSolViolationUpdates(), and SCIPdeactivateSolViolationUpdates().
◆ SCIPprimalTrySolFreeExact()
| SCIP_RETCODE SCIPprimalTrySolFreeExact | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_SOL ** | sol, | ||
| SCIP_Bool | printreason, | ||
| SCIP_Bool | completely, | ||
| SCIP_Bool | checkbounds, | ||
| SCIP_Bool | checkintegrality, | ||
| SCIP_Bool | checklprows, | ||
| SCIP_Bool * | stored | ||
| ) |
adds exact primal solution to solution storage, frees the solution afterwards
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lpexact current LP data eventqueue event queue eventfilter event filter for global (not variable dependent) events sol pointer to primal CIP solution; is cleared in function call printreason Should all the reasons of violations be printed? completely Should all violations be checked? checkbounds Should the bounds of the variables be checked? checkintegrality Has integrality to be checked? checklprows Do constraints represented by rows in the current LP have to be checked? stored stores whether given solution was good enough to keep
Definition at line 2382 of file primal.c.
References FALSE, NULL, primalAddSolExact(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsolCheck(), SCIPsolFree(), solOfInterest(), and TRUE.
Referenced by addCurrentSolution(), SCIPtrySolFreeExact(), and solveNodeLP().
◆ SCIPprimalAddSolFreeExact()
| SCIP_RETCODE SCIPprimalAddSolFreeExact | ( | SCIP_PRIMAL * | primal, |
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr, | ||
| SCIP_STAT * | stat, | ||
| SCIP_PROB * | origprob, | ||
| SCIP_PROB * | transprob, | ||
| SCIP_TREE * | tree, | ||
| SCIP_REOPT * | reopt, | ||
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_EVENTQUEUE * | eventqueue, | ||
| SCIP_EVENTFILTER * | eventfilter, | ||
| SCIP_SOL ** | sol, | ||
| SCIP_Bool * | stored | ||
| ) |
adds exact primal solution to solution storage by copying it and frees the solution afterwards
- Parameters
-
primal primal data blkmem block memory set global SCIP settings messagehdlr message handler stat problem statistics data origprob original problem transprob transformed problem after presolve tree branch and bound tree reopt reoptimization data structure lpexact current exact LP data eventqueue event queue eventfilter event filter for global (not variable dependent) events sol primal CIP solution stored stores whether given solution was good enough to keep
Definition at line 2449 of file primal.c.
References FALSE, NULL, primalAddSolExact(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPsolFree(), SCIPsolIsPartial(), solOfInterest(), and TRUE.
Referenced by SCIPtrySolFreeExact().