methods for storing primal CIP solutions
Definition in file sol.c.
#include "scip/clock.h"
#include "scip/cons.h"
#include "scip/lp.h"
#include "scip/misc.h"
#include "scip/nlp.h"
#include "scip/primal.h"
#include "scip/prob.h"
#include "scip/pub_lp.h"
#include "scip/pub_message.h"
#include "scip/pub_sol.h"
#include "scip/pub_var.h"
#include "scip/relax.h"
#include "scip/set.h"
#include "scip/sol.h"
#include "scip/stat.h"
#include "scip/struct_lp.h"
#include "scip/struct_prob.h"
#include "scip/struct_set.h"
#include "scip/struct_sol.h"
#include "scip/struct_stat.h"
#include "scip/struct_var.h"
#include "scip/tree.h"
#include "scip/var.h"
Go to the source code of this file.
|
static |
clears solution arrays of primal CIP solution
sol | primal CIP solution |
Definition at line 61 of file sol.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPboolarrayClear(), and sol.
Referenced by SCIPsolClear(), SCIPsolLinkLPSol(), SCIPsolLinkNLPSol(), SCIPsolLinkPseudoSol(), SCIPsolLinkRelaxSol(), SCIPsolRetransform(), and SCIPsolSetUnknown().
|
static |
sets value of variable in the solution's array
sol | primal CIP solution |
set | global SCIP settings |
var | problem variable |
val | value to set variable to |
Definition at line 75 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPboolarraySetVal(), SCIPrealarraySetVal(), SCIPsetIsInfinity(), SCIPvarGetIndex(), SCIPvarMarkNotDeletable(), sol, TRUE, and var.
Referenced by SCIPsolRetransform(), SCIPsolSetVal(), and solUnlinkVar().
|
static |
increases value of variable in the solution's array
sol | primal CIP solution |
set | global SCIP settings |
var | problem variable |
incval | increase of variable's solution value |
Definition at line 106 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPboolarrayGetVal(), SCIPboolarraySetVal(), SCIPrealarrayGetVal(), SCIPrealarrayIncVal(), SCIPrealarraySetVal(), SCIPsetIsInfinity(), SCIPvarGetIndex(), SCIPvarMarkNotDeletable(), sol, TRUE, and var.
Referenced by SCIPsolIncVal().
returns the value of the variable in the given solution
sol | primal CIP solution |
var | problem variable |
Definition at line 147 of file sol.c.
References assert(), NULL, SCIP_Real, SCIP_SOLORIGIN_LPSOL, SCIP_SOLORIGIN_NLPSOL, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PARTIAL, SCIP_SOLORIGIN_PSEUDOSOL, SCIP_SOLORIGIN_RELAXSOL, SCIP_SOLORIGIN_UNKNOWN, SCIP_SOLORIGIN_ZERO, SCIP_UNKNOWN, SCIPABORT, SCIPboolarrayGetVal(), SCIPerrorMessage, SCIPrealarrayGetVal(), SCIPvarGetIndex(), SCIPvarGetLPSol(), SCIPvarGetNLPSol(), SCIPvarGetPseudoSol(), SCIPvarGetRelaxSolTransVar(), sol, and var.
Referenced by SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPsolIncVal(), SCIPsolRound(), SCIPsolSetVal(), and SCIPsolUpdateVarObj().
|
static |
stores solution value of variable in solution's own array
sol | primal CIP solution |
set | global SCIP settings |
var | problem variable |
Definition at line 198 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_LPSOL, SCIP_SOLORIGIN_NLPSOL, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PARTIAL, SCIP_SOLORIGIN_PSEUDOSOL, SCIP_SOLORIGIN_RELAXSOL, SCIP_SOLORIGIN_UNKNOWN, SCIP_SOLORIGIN_ZERO, SCIP_UNKNOWN, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPboolarrayGetVal(), SCIPerrorMessage, SCIPsetDebugMsg, SCIPvarGetIndex(), SCIPvarGetLPSol(), SCIPvarGetName(), SCIPvarGetNLPSol(), SCIPvarGetPseudoSol(), SCIPvarGetRelaxSolTransVar(), SCIPvarGetStatus(), SCIPvarIsTransformed(), sol, solSetArrayVal(), and var.
Referenced by SCIPsolUnlink().
sets the solution time, nodenum, runnum, and depth stamp to the current values
sol | primal CIP solution |
stat | problem statistics data |
tree | branch and bound tree, or NULL |
checktime | should the time be updated? |
Definition at line 260 of file sol.c.
References assert(), SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Stat::nruns, NULL, SCIP_Bool, SCIPclockGetLastTime(), SCIPclockGetTime(), SCIPtreeGetCurrentDepth(), sol, and SCIP_Stat::solvingtime.
Referenced by SCIPsolClear(), SCIPsolCreate(), SCIPsolCreateOriginal(), SCIPsolCreatePartial(), SCIPsolCreateUnknown(), SCIPsolIncVal(), SCIPsolLinkLPSol(), SCIPsolLinkNLPSol(), SCIPsolLinkPseudoSol(), SCIPsolLinkRelaxSol(), SCIPsolSetUnknown(), and SCIPsolSetVal().
SCIP_RETCODE SCIPsolCreate | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_HEUR * | heur ) |
creates primal CIP solution, initialized to zero
sol | pointer to primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
primal | primal data |
tree | branch and bound tree |
heur | heuristic that found the solution (or NULL if it's from the tree) |
Definition at line 288 of file sol.c.
References assert(), BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ZERO, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), SCIPsolSetHeur(), sol, SCIP_Stat::solindex, solStamp(), and TRUE.
Referenced by SCIPcreateSol(), SCIPprimalTransformSol(), SCIPsolCreateLPSol(), SCIPsolCreateNLPSol(), SCIPsolCreatePseudoSol(), SCIPsolCreateRelaxSol(), and updatePrimalRay().
SCIP_RETCODE SCIPsolCreateOriginal | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_HEUR * | heur ) |
creates primal CIP solution in original problem space, initialized to the offset in the original problem
sol | pointer to primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
origprob | original problem data |
primal | primal data |
tree | branch and bound tree |
heur | heuristic that found the solution (or NULL if it's from the tree) |
Definition at line 325 of file sol.c.
References assert(), BMSallocBlockMemory, FALSE, NULL, SCIP_Prob::objoffset, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ORIGINAL, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), SCIPsolSetHeur(), sol, SCIP_Stat::solindex, solStamp(), and TRUE.
Referenced by SCIPcreateOrigSol(), and SCIPcreateSol().
SCIP_RETCODE SCIPsolCopy | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_SOL * | sourcesol ) |
creates a copy of a primal CIP solution
sol | pointer to store the copy of the primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
primal | primal data |
sourcesol | primal CIP solution to copy |
Definition at line 362 of file sol.c.
References SCIP_Viol::absviolbounds, SCIP_Viol::absviolcons, SCIP_Viol::absviolintegrality, SCIP_Viol::absviollprows, assert(), BMSallocBlockMemory, SCIP_Sol::depth, SCIP_Sol::hasinfval, SCIP_Sol::lpcount, SCIP_Sol::nodenum, NULL, SCIP_Sol::obj, SCIP_Viol::relviolbounds, SCIP_Viol::relviolcons, SCIP_Viol::relviollprows, SCIP_Sol::runnum, SCIP_ALLOC, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_SOLTYPE_HEUR, SCIP_SOLTYPE_LPRELAX, SCIP_SOLTYPE_PSEUDO, SCIP_SOLTYPE_RELAX, SCIP_SOLTYPE_STRONGBRANCH, SCIP_SOLTYPE_UNKNOWN, SCIPboolarrayCopy(), SCIPerrorMessage, SCIPprimalSolCreated(), SCIPrealarrayCopy(), SCIPsolGetHeur(), SCIPsolGetRelax(), SCIPsolSetHeur(), SCIPsolSetRelax(), sol, SCIP_Stat::solindex, SCIP_Sol::solorigin, SCIP_Sol::time, SCIP_Sol::type, SCIP_Sol::valid, SCIP_Sol::vals, and SCIP_Sol::viol.
Referenced by SCIPcreateSolCopy(), SCIPcreateSolCopyOrig(), SCIPprimalAddOrigSol(), SCIPprimalAddSol(), SCIPprimalTrySol(), SCIPprimalUpdateRay(), SCIPreoptAddOptSol(), and soltreeAddSol().
SCIP_RETCODE SCIPsolTransform | ( | SCIP_SOL * | sol, |
SCIP_SOL ** | transsol, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_PRIMAL * | primal ) |
transformes given original solution to the transformed space; a corresponding transformed solution has to be given which is copied into the existing solution and freed afterwards
sol | primal CIP solution to change, living in original space |
transsol | pointer to corresponding transformed primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
primal | primal data |
Definition at line 426 of file sol.c.
References assert(), NULL, SCIP_Sol::obj, SCIP_CALL, SCIP_OKAY, SCIPsolFree(), SCIPsolIsOriginal(), sol, SCIP_Sol::solorigin, SCIP_Sol::valid, and SCIP_Sol::vals.
Referenced by primalAddSol().
SCIP_RETCODE SCIPsolAdjustImplicitSolVals | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_TREE * | tree, | ||
SCIP_Bool | uselprows ) |
adjusts solution values of implicit integer variables in handed solution. Solution objective value is not deteriorated by this method.
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
prob | either original or transformed problem, depending on sol origin |
tree | branch and bound tree |
uselprows | should LP row information be considered for none-objective variables |
Definition at line 473 of file sol.c.
References assert(), FALSE, nbinvars, nintvars, NULL, obj, r, roundup, SCIP_Bool, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARTYPE_IMPLINT, SCIPcolGetNNonz(), SCIPcolGetRows(), SCIPcolGetVals(), SCIPprobGetNBinVars(), SCIPprobGetNImplVars(), SCIPprobGetNIntVars(), SCIPprobGetVars(), SCIProwGetLhs(), SCIProwGetRhs(), SCIProwGetSolActivity(), SCIProwIsInLP(), SCIProwIsLocal(), SCIPsetCeil(), SCIPsetFloor(), SCIPsetIsFeasGE(), SCIPsetIsFeasGT(), SCIPsetIsFeasIntegral(), SCIPsetIsFeasLE(), SCIPsetIsFeasLT(), SCIPsetIsFeasNegative(), SCIPsetIsFeasPositive(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPsolGetVal(), SCIPsolSetVal(), SCIPvarGetCol(), SCIPvarGetLbGlobal(), SCIPvarGetNLocksDownType(), SCIPvarGetNLocksUpType(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUnchangedObj(), sol, TRUE, var, and vars.
Referenced by SCIPadjustImplicitSolVals().
SCIP_RETCODE SCIPsolCreateLPSol | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_LP * | lp, | ||
SCIP_HEUR * | heur ) |
creates primal CIP solution, initialized to the current LP solution
sol | pointer to primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
prob | transformed problem data |
primal | primal 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 608 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPlpIsSolved(), SCIPsolCreate(), SCIPsolLinkLPSol(), and sol.
Referenced by addCurrentSolution(), SCIPcreateLPSol(), SCIPsolCreateCurrentSol(), SCIPsolveCIP(), and solveNodeLP().
SCIP_RETCODE SCIPsolCreateNLPSol | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_NLP * | nlp, | ||
SCIP_HEUR * | heur ) |
creates primal CIP solution, initialized to the current NLP solution
sol | pointer to primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
primal | primal data |
tree | branch and bound tree |
nlp | current NLP data |
heur | heuristic that found the solution (or NULL if it's from the tree) |
Definition at line 631 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPsolCreate(), SCIPsolLinkNLPSol(), and sol.
Referenced by SCIPcreateNLPSol(), and SCIPnlrowRecalcNLPActivity().
SCIP_RETCODE SCIPsolCreateRelaxSol | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_RELAXATION * | relaxation, | ||
SCIP_HEUR * | heur ) |
creates primal CIP solution, initialized to the current relaxation solution
sol | pointer to primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
primal | primal data |
tree | branch and bound tree |
relaxation | global relaxation data |
heur | heuristic that found the solution (or NULL if it's from the tree) |
Definition at line 652 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPrelaxationGetSolRelax(), SCIPrelaxationIsSolValid(), SCIPsolCreate(), SCIPsolLinkRelaxSol(), SCIPsolSetRelax(), and sol.
Referenced by addCurrentSolution(), enforceConstraints(), SCIPcreateRelaxSol(), SCIPsolveCIP(), and solveNode().
SCIP_RETCODE SCIPsolCreatePseudoSol | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_LP * | lp, | ||
SCIP_HEUR * | heur ) |
creates primal CIP solution, initialized to the current pseudo solution
sol | pointer to primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
prob | transformed problem data |
primal | primal data |
tree | branch and bound tree, or NULL |
lp | current LP data |
heur | heuristic that found the solution (or NULL if it's from the tree) |
Definition at line 678 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPsolCreate(), SCIPsolLinkPseudoSol(), SCIPsolSetPseudo(), and sol.
Referenced by addCurrentSolution(), SCIPcreatePseudoSol(), SCIPnlrowRecalcPseudoActivity(), SCIPsolCreateCurrentSol(), and SCIPsolveCIP().
SCIP_RETCODE SCIPsolCreateCurrentSol | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_LP * | lp, | ||
SCIP_HEUR * | heur ) |
creates primal CIP solution, initialized to the current solution
sol | pointer to primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
prob | transformed problem data |
primal | primal 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 703 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPsolCreateLPSol(), SCIPsolCreatePseudoSol(), SCIPtreeHasCurrentNodeLP(), and sol.
Referenced by primalLinkCurrentSol(), SCIPcreateCurrentSol(), SCIPprintSol(), SCIPprintTransSol(), and solveNode().
SCIP_RETCODE SCIPsolCreatePartial | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_HEUR * | heur ) |
creates partial primal CIP solution, initialized to unknown values
sol | pointer to primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
primal | primal data |
heur | heuristic that found the solution (or NULL if it's from the tree) |
Definition at line 730 of file sol.c.
References assert(), BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_PARTIAL, SCIP_UNKNOWN, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), SCIPsolSetHeur(), sol, SCIP_Stat::solindex, solStamp(), and TRUE.
Referenced by SCIPcreatePartialSol().
SCIP_RETCODE SCIPsolCreateUnknown | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_TREE * | tree, | ||
SCIP_HEUR * | heur ) |
creates primal CIP solution, initialized to unknown values
sol | pointer to primal CIP solution |
blkmem | block memory |
set | global SCIP settings |
stat | problem statistics data |
primal | primal data |
tree | branch and bound tree |
heur | heuristic that found the solution (or NULL if it's from the tree) |
Definition at line 766 of file sol.c.
References assert(), BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_UNKNOWN, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), SCIPsolSetHeur(), sol, SCIP_Stat::solindex, solStamp(), and TRUE.
Referenced by SCIPcreateUnknownSol().
SCIP_RETCODE SCIPsolFree | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_PRIMAL * | primal ) |
frees primal CIP solution
sol | pointer to primal CIP solution |
blkmem | block memory |
primal | primal data |
Definition at line 801 of file sol.c.
References assert(), BMSfreeBlockMemory, NULL, SCIP_CALL, SCIP_OKAY, SCIPboolarrayFree(), SCIPprimalSolFreed(), SCIPrealarrayFree(), and sol.
Referenced by enforceConstraints(), freeTransform(), primalAddOrigSol(), primalAddSol(), SCIPfreeSol(), SCIPnlrowRecalcNLPActivity(), SCIPnlrowRecalcPseudoActivity(), SCIPprimalAddOrigSolFree(), SCIPprimalAddSolFree(), SCIPprimalClear(), SCIPprimalTrySolFree(), SCIPprimalUpdateRay(), SCIPprintSol(), SCIPprintTransSol(), SCIPreoptFree(), SCIPsolTransform(), SCIPsolveCIP(), SCIPtransformProb(), SCIPtrySolFree(), soltreefreeNode(), solveNode(), solveNodeLP(), and updatePrimalRay().
SCIP_RETCODE SCIPsolLinkLPSol | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_TREE * | tree, | ||
SCIP_LP * | lp ) |
copies current LP solution into CIP solution by linking
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
prob | transformed problem data |
tree | branch and bound tree |
lp | current LP data |
Definition at line 820 of file sol.c.
References assert(), c, NULL, SCIP_Col::primsol, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_LPSOL, SCIPcolGetVar(), SCIPlpDiving(), SCIPlpDivingObjChanged(), SCIPlpGetCols(), SCIPlpGetLooseObjval(), SCIPlpGetNCols(), SCIPlpGetObjval(), SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPtreeProbing(), SCIPvarGetUnchangedObj(), sol, solClearArrays(), solStamp(), SCIP_Lp::solved, TRUE, and var.
Referenced by SCIPlinkLPSol(), SCIPsolCreateLPSol(), and SCIPsolLinkCurrentSol().
SCIP_RETCODE SCIPsolLinkNLPSol | ( | SCIP_SOL * | sol, |
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_NLP * | nlp ) |
copies current NLP solution into CIP solution by linking
sol | primal CIP solution |
stat | problem statistics data |
tree | branch and bound tree |
nlp | current NLP data |
Definition at line 878 of file sol.c.
References assert(), NULL, nvars, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_NLPSOL, SCIPnlpGetNVars(), SCIPnlpGetObjval(), SCIPnlpGetVars(), SCIPnlpHasSolution(), SCIPnlpIsDivingObjChanged(), SCIPstatDebugMsg, SCIPvarGetNLPSol(), SCIPvarGetUnchangedObj(), SCIPvarIsActive(), sol, solClearArrays(), solStamp(), TRUE, and vars.
Referenced by SCIPlinkNLPSol(), and SCIPsolCreateNLPSol().
SCIP_RETCODE SCIPsolLinkRelaxSol | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_RELAXATION * | relaxation ) |
copies current relaxation solution into CIP solution by linking
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
tree | branch and bound tree |
relaxation | global relaxation data |
Definition at line 929 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_RELAXSOL, SCIPrelaxationGetSolObj(), SCIPrelaxationIsSolValid(), SCIPsetDebugMsg, sol, solClearArrays(), solStamp(), and TRUE.
Referenced by SCIPlinkRelaxSol(), and SCIPsolCreateRelaxSol().
SCIP_RETCODE SCIPsolLinkPseudoSol | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_TREE * | tree, | ||
SCIP_LP * | lp ) |
copies current pseudo solution into CIP solution by linking
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
prob | transformed problem data |
tree | branch and bound tree, or NULL |
lp | current LP data |
Definition at line 959 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_PSEUDOSOL, SCIPlpGetPseudoObjval(), SCIPsetDebugMsg, sol, solClearArrays(), solStamp(), and TRUE.
Referenced by SCIPlinkPseudoSol(), SCIPsolCreatePseudoSol(), and SCIPsolLinkCurrentSol().
SCIP_RETCODE SCIPsolLinkCurrentSol | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_TREE * | tree, | ||
SCIP_LP * | lp ) |
copies current solution (LP or pseudo solution) into CIP solution by linking
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
prob | transformed problem data |
tree | branch and bound tree |
lp | current LP data |
Definition at line 988 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPlpIsSolved(), SCIPsetDebugMsg, SCIPsolLinkLPSol(), SCIPsolLinkPseudoSol(), SCIPtreeHasCurrentNodeLP(), and sol.
Referenced by primalLinkCurrentSol(), and SCIPlinkCurrentSol().
SCIP_RETCODE SCIPsolClear | ( | SCIP_SOL * | sol, |
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree ) |
clears primal CIP solution
sol | primal CIP solution |
stat | problem statistics data |
tree | branch and bound tree |
Definition at line 1014 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ZERO, sol, solClearArrays(), solStamp(), and TRUE.
Referenced by SCIPclearSol().
SCIP_RETCODE SCIPsolSetUnknown | ( | SCIP_SOL * | sol, |
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree ) |
declares all entries in the primal CIP solution to be unknown
sol | primal CIP solution |
stat | problem statistics data |
tree | branch and bound tree |
Definition at line 1031 of file sol.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_UNKNOWN, sol, solClearArrays(), solStamp(), and TRUE.
SCIP_RETCODE SCIPsolUnlink | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_PROB * | prob ) |
stores solution values of variables in solution's own array
sol | primal CIP solution |
set | global SCIP settings |
prob | transformed problem data |
Definition at line 1048 of file sol.c.
References assert(), NULL, SCIP_Prob::nvars, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_UNKNOWN, SCIP_SOLORIGIN_ZERO, SCIPsetDebugMsg, SCIPsolIsOriginal(), sol, solUnlinkVar(), and SCIP_Prob::vars.
Referenced by primalAddSol(), and SCIPunlinkSol().
SCIP_RETCODE SCIPsolSetVal | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_VAR * | var, | ||
SCIP_Real | val ) |
sets value of variable in primal CIP solution
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
tree | branch and bound tree, or NULL |
var | variable to add to solution |
val | solution value of variable |
Definition at line 1077 of file sol.c.
References ABS, assert(), FALSE, SCIP_Stat::lpcount, MAX, SCIP_Stat::nnodes, SCIP_Stat::nruns, NULL, obj, SCIP_CALL, SCIP_INVALID, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_LPSOL, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PARTIAL, SCIP_SOLORIGIN_UNKNOWN, SCIP_SOLORIGIN_ZERO, SCIP_UNKNOWN, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPboolarrayGetVal(), SCIPerrorMessage, SCIPisFinite, SCIPsetDebugMsg, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPsolSetVal(), SCIPvarGetAggrConstant(), SCIPvarGetAggrScalar(), SCIPvarGetAggrVar(), SCIPvarGetIndex(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetName(), SCIPvarGetNegationConstant(), SCIPvarGetNegationVar(), SCIPvarGetStatus(), SCIPvarGetTransVar(), SCIPvarGetUnchangedObj(), sol, solGetArrayVal(), solSetArrayVal(), solStamp(), and var.
Referenced by SCIPprimalTransformSol(), SCIPsetSolVal(), SCIPsetSolVals(), SCIPsolAdjustImplicitSolVals(), SCIPsolRound(), SCIPsolSetVal(), separateAlternativeProofs(), and updatePrimalRay().
SCIP_RETCODE SCIPsolIncVal | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_VAR * | var, | ||
SCIP_Real | incval ) |
increases value of variable in primal CIP solution
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
tree | branch and bound tree |
var | variable to increase solution value for |
incval | increment for solution value of variable |
Definition at line 1296 of file sol.c.
References assert(), FALSE, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Stat::nruns, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_LPSOL, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_ZERO, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPboolarrayGetVal(), SCIPerrorMessage, SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsolIncVal(), SCIPsolIsOriginal(), SCIPvarGetAggrScalar(), SCIPvarGetAggrVar(), SCIPvarGetIndex(), SCIPvarGetName(), SCIPvarGetNegationVar(), SCIPvarGetStatus(), SCIPvarGetTransVar(), SCIPvarGetUnchangedObj(), sol, solGetArrayVal(), solIncArrayVal(), solStamp(), and var.
Referenced by SCIPincSolVal(), and SCIPsolIncVal().
returns value of variable in primal CIP solution
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
var | variable to get value for |
Definition at line 1372 of file sol.c.
References assert(), i, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Stat::nruns, NULL, nvars, scalars, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_LPSOL, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PARTIAL, SCIP_SOLORIGIN_UNKNOWN, SCIP_SOLORIGIN_ZERO, SCIP_UNKNOWN, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPboolarrayGetVal(), SCIPerrorMessage, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPvarGetAggrConstant(), SCIPvarGetAggrScalar(), SCIPvarGetAggrVar(), SCIPvarGetIndex(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetNegationConstant(), SCIPvarGetNegationVar(), SCIPvarGetOrigvarSum(), SCIPvarGetStatus(), SCIPvarGetTransVar(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarIsTransformed(), sol, solGetArrayVal(), var, and vars.
Referenced by SCIPgetSolVal(), SCIPgetSolVals(), SCIPnlrowGetSolActivity(), SCIPprimalTransformSol(), SCIProwGetLPSolCutoffDistance(), SCIProwGetSolActivity(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolCheckOrig(), SCIPsolGetVal(), SCIPsolMarkPartial(), SCIPsolPrint(), SCIPsolRecomputeObj(), SCIPsolRetransform(), SCIPsolsAreEqual(), SCIPsolUpdateVarsum(), SCIPvarGetClosestVlb(), SCIPvarGetClosestVub(), separateSolution(), and soltreeAddSol().
returns value of variable in primal ray represented by primal CIP solution
sol | primal CIP solution, representing a primal ray |
set | global SCIP settings |
stat | problem statistics data |
var | variable to get value for |
Definition at line 1502 of file sol.c.
References assert(), i, NULL, nvars, REALABS, scalars, SCIP_Real, SCIP_SOLORIGIN_ZERO, SCIP_UNKNOWN, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPerrorMessage, SCIPsetIsInfinity(), SCIPsolGetRayVal(), SCIPsolIsOriginal(), SCIPvarGetAggrScalar(), SCIPvarGetAggrVar(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetNegationVar(), SCIPvarGetStatus(), SCIPvarGetTransVar(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), sol, solGetArrayVal(), var, and vars.
Referenced by SCIPgetPrimalRayVal(), SCIPsolGetRayVal(), and SCIPsolPrintRay().
SCIP_Real SCIPsolGetObj | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_PROB * | transprob, | ||
SCIP_PROB * | origprob ) |
gets objective value of primal CIP solution in transformed problem
sol | primal CIP solution |
set | global SCIP settings |
transprob | tranformed problem data |
origprob | original problem data |
Definition at line 1571 of file sol.c.
References assert(), NULL, SCIP_Real, SCIPprobInternObjval(), SCIPsolIsOriginal(), and sol.
Referenced by addCurrentSolution(), primalAddSol(), primalExistsSol(), primalSearchSolPos(), SCIPgetSolOrigObj(), SCIPgetSolTransObj(), SCIPprimalAddSol(), SCIPprimalRetransformSolutions(), SCIPprimalUpdateObjoffset(), SCIPprimalUpperboundIsSol(), SCIPprintMIPStart(), SCIPprintSol(), SCIPprintSolutionStatistics(), SCIPprintTransSol(), SCIPsetRelaxSolValsSol(), SCIPsolsAreEqual(), SCIPsolveCIP(), SCIPtransformProb(), solOfInterest(), and sortPrimalSols().
updates primal solutions after a change in a variable's objective value
sol | primal CIP solution |
var | problem variable |
oldobj | old objective value |
newobj | new objective value |
Definition at line 1588 of file sol.c.
References assert(), newobj, NULL, oldobj, SCIP_Real, SCIP_UNKNOWN, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPsolIsOriginal(), SCIPvarGetStatus(), sol, solGetArrayVal(), and var.
Referenced by SCIPprimalUpdateVarObj().
SCIP_RETCODE SCIPsolMarkPartial | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_VAR ** | vars, | ||
int | nvars ) |
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics |
vars | problem variables |
nvars | number of problem variables |
Definition at line 1607 of file sol.c.
References assert(), FALSE, NULL, nvars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PARTIAL, SCIP_UNKNOWN, SCIPboolarraySetVal(), SCIPrealarraySetVal(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsolGetVal(), SCIPvarGetIndex(), SCIPvarIsTransformed(), SCIPvarMarkNotDeletable(), sol, TRUE, and vars.
Referenced by readSolFile(), and readXmlSolFile().
SCIP_RETCODE SCIPsolCheckOrig | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_PRIMAL * | primal, | ||
SCIP_Bool | printreason, | ||
SCIP_Bool | completely, | ||
SCIP_Bool | checkbounds, | ||
SCIP_Bool | checkintegrality, | ||
SCIP_Bool | checklprows, | ||
SCIP_Bool | checkmodifiable, | ||
SCIP_Bool * | feasible ) |
checks solution for feasibility in original problem without adding it to the solution store
We first check the variable bounds. Then we loop over all constraint handlers and constraints, checking each in the order of their check priority.
sol | primal CIP solution |
set | global SCIP settings |
messagehdlr | message handler |
blkmem | block memory |
stat | problem statistics |
prob | transformed problem data |
primal | primal data |
printreason | Should the reason for the violation be printed? |
completely | Should all violations be checked if printreason is true? |
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? |
checkmodifiable | have modifiable constraint to be checked? |
feasible | stores whether given solution is feasible |
Definition at line 1671 of file sol.c.
References assert(), c, FALSE, h, SCIP_Prob::nconss, NULL, SCIP_Prob::nvars, SCIP_Prob::origcheckconss, result, SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_OKAY, SCIP_Real, SCIPconsCheck(), SCIPconsGetHdlr(), SCIPconshdlrCheck(), SCIPconshdlrGetCheckPriority(), SCIPconshdlrNeedsCons(), SCIPconsIsChecked(), SCIPconsIsModifiable(), SCIPmessagePrintInfo(), SCIPprimalUpdateViolations(), SCIPprobSortConssCheck(), SCIPrelDiff(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsolGetVal(), SCIPsolResetViolations(), SCIPsolUpdateBoundViolation(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetUbOriginal(), sol, SCIP_Prob::transformed, TRUE, var, and SCIP_Prob::vars.
Referenced by SCIPcheckSol(), SCIPcheckSolOrig(), SCIPtransformProb(), SCIPtryCurrentSol(), SCIPtrySol(), and SCIPtrySolFree().
SCIP_RETCODE SCIPsolCheck | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
BMS_BLKMEM * | blkmem, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_Bool | printreason, | ||
SCIP_Bool | completely, | ||
SCIP_Bool | checkbounds, | ||
SCIP_Bool | checkintegrality, | ||
SCIP_Bool | checklprows, | ||
SCIP_Bool * | feasible ) |
checks primal CIP solution for feasibility
sol | primal CIP solution |
set | global SCIP settings |
messagehdlr | message handler |
blkmem | block memory |
stat | problem statistics |
prob | transformed problem data |
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? |
feasible | stores whether solution is feasible |
Definition at line 1838 of file sol.c.
References assert(), FALSE, h, MAX, NULL, SCIP_Prob::nvars, result, SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_LONGINT_FORMAT, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPconshdlrCheck(), SCIPconshdlrGetName(), SCIPdebugPrintf, SCIPmessagePrintInfo(), SCIPsetDebugMsg, SCIPsetDebugMsgPrint, SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPsolResetViolations(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarGetUnchangedObj(), sol, TRUE, var, and SCIP_Prob::vars.
Referenced by primalAddSol(), SCIPcheckSol(), SCIPprimalTrySol(), SCIPprimalTrySolFree(), and solveNodeLP().
SCIP_RETCODE SCIPsolRound | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_TREE * | tree, | ||
SCIP_Bool * | success ) |
try to round given solution
sol | primal solution |
set | global SCIP settings |
stat | problem statistics data |
prob | transformed problem data |
tree | branch and bound tree |
success | pointer to store whether rounding was successful |
Definition at line 1959 of file sol.c.
References assert(), SCIP_Stat::lpcount, mayrounddown, mayroundup, SCIP_Prob::nbinvars, SCIP_Prob::nintvars, NULL, nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_LPSOL, SCIP_UNKNOWN, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPboolarrayGetVal(), SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPsetIsFeasIntegral(), SCIPsolIsOriginal(), SCIPsolSetVal(), SCIPvarGetIndex(), SCIPvarGetStatus(), SCIPvarGetUnchangedObj(), SCIPvarMayRoundDown(), SCIPvarMayRoundUp(), sol, solGetArrayVal(), SCIP_Prob::transformed, var, and SCIP_Prob::vars.
Referenced by SCIProundSol().
void SCIPsolUpdateVarsum | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_Real | weight ) |
updates the solution value sums in variables by adding the value in the given solution
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
prob | transformed problem data |
weight | weight of solution in weighted average |
Definition at line 2031 of file sol.c.
References assert(), NULL, SCIP_Prob::nvars, SCIP_Var::primsolavg, SCIP_Real, SCIP_UNKNOWN, SCIPsolGetVal(), SCIPsolIsOriginal(), sol, and SCIP_Prob::vars.
Referenced by primalAddSol().
SCIP_RETCODE SCIPsolRetransform | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob, | ||
SCIP_Bool * | hasinfval ) |
retransforms solution to original problem space
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem |
hasinfval | pointer to store whether the solution has infinite values |
Definition at line 2059 of file sol.c.
References assert(), FALSE, i, NULL, nvars, SCIP_Prob::nvars, SCIP_Prob::objoffset, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_ZERO, SCIP_UNKNOWN, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsolGetVal(), SCIPvarGetActiveRepresentatives(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetUnchangedObj(), sol, solClearArrays(), solSetArrayVal(), SCIP_Prob::transformed, TRUE, SCIP_Prob::vars, and vars.
Referenced by freeTransform(), primalAddSol(), SCIPprimalRetransformSolutions(), SCIPretransformSol(), and SCIPsolve().
recomputes the objective value of an original solution, e.g., when transferring solutions from the solution pool (objective coefficients might have changed in the meantime)
sol | primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
origprob | original problem |
Definition at line 2186 of file sol.c.
References assert(), NULL, nvars, SCIP_Prob::nvars, SCIP_Real, SCIP_UNKNOWN, SCIPprobGetObjoffset(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPvarGetUnchangedObj(), sol, SCIP_Prob::vars, and vars.
Referenced by SCIPrecomputeSolObj(), and SCIPtransformProb().
SCIP_Bool SCIPsolsAreEqual | ( | SCIP_SOL * | sol1, |
SCIP_SOL * | sol2, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | origprob, | ||
SCIP_PROB * | transprob ) |
returns whether the given solutions are equal
sol1 | first primal CIP solution |
sol2 | second primal CIP solution |
set | global SCIP settings |
stat | problem statistics data |
origprob | original problem |
transprob | transformed problem after presolve, or NULL if both solution are defined in the original problem space |
Definition at line 2221 of file sol.c.
References assert(), FALSE, NULL, SCIP_Prob::nvars, SCIP_Sol::obj, SCIP_Bool, SCIP_Real, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsolGetObj(), SCIPsolGetVal(), SCIPsolIsOriginal(), TRUE, and SCIP_Prob::vars.
Referenced by primalExistsOrigSol(), primalExistsSol(), and SCIPareSolsEqual().
SCIP_RETCODE SCIPsolPrint | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_PROB * | transprob, | ||
FILE * | file, | ||
SCIP_Bool | mipstart, | ||
SCIP_Bool | printzeros ) |
outputs non-zero elements of solution to file stream
sol | primal CIP solution |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics data |
prob | problem data (original or transformed) |
transprob | transformed problem data or NULL (to display priced variables) |
file | output file (or NULL for standard output) |
mipstart | should only discrete variables be printed? |
printzeros | should variables set to zero be printed? |
Definition at line 2286 of file sol.c.
References assert(), SCIP_Prob::fixedvars, SCIP_Prob::nfixedvars, NULL, SCIP_Prob::nvars, SCIP_Bool, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_PARTIAL, SCIP_UNKNOWN, SCIPmessageFPrintInfo(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPvarGetName(), SCIPvarGetUnchangedObj(), SCIPvarIsIntegral(), SCIPvarIsTransformedOrigvar(), sol, SCIP_Prob::transformed, and SCIP_Prob::vars.
Referenced by primalAddSol(), SCIPprintMIPStart(), SCIPprintSol(), SCIPprintTransSol(), and SCIPsolve().
SCIP_RETCODE SCIPsolPrintRay | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_PROB * | transprob, | ||
FILE * | file, | ||
SCIP_Bool | printzeros ) |
outputs non-zero elements of solution representing a ray to file stream
sol | primal CIP solution |
set | global SCIP settings |
messagehdlr | message handler |
stat | problem statistics data |
prob | problem data (original or transformed) |
transprob | transformed problem data or NULL (to display priced variables) |
file | output file (or NULL for standard output) |
printzeros | should variables set to zero be printed? |
Definition at line 2422 of file sol.c.
References assert(), SCIP_Prob::fixedvars, SCIP_Prob::nfixedvars, NULL, SCIP_Prob::nvars, SCIP_Bool, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPmessageFPrintInfo(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsolGetRayVal(), SCIPsolIsOriginal(), SCIPvarGetName(), SCIPvarGetUnchangedObj(), SCIPvarIsTransformedOrigvar(), sol, SCIP_Prob::transformed, and SCIP_Prob::vars.
Referenced by SCIPprintRay().
void SCIPsolResetViolations | ( | SCIP_SOL * | sol | ) |
reset violations of a solution
sol | primal CIP solution |
Definition at line 2534 of file sol.c.
References assert(), NULL, and sol.
Referenced by SCIPsolCheck(), SCIPsolCheckOrig(), SCIPsolCreate(), SCIPsolCreateOriginal(), SCIPsolCreatePartial(), and SCIPsolCreateUnknown().
void SCIPsolUpdateBoundViolation | ( | SCIP_SOL * | sol, |
SCIP_Real | absviolbounds, | ||
SCIP_Real | relviolbounds ) |
update bound violation of a solution
sol | primal CIP solution |
absviolbounds | absolute violation of bounds |
relviolbounds | relative violation of bounds |
Definition at line 2561 of file sol.c.
References assert(), MAX, NULL, SCIP_Real, and sol.
Referenced by SCIPsolCheckOrig(), and SCIPupdateSolBoundViolation().
void SCIPsolUpdateLPRowViolation | ( | SCIP_SOL * | sol, |
SCIP_Real | absviollprows, | ||
SCIP_Real | relviollprows ) |
update LP row violation of a solution
sol | primal CIP solution |
absviollprows | absolute violation of LP rows |
relviollprows | relative violation of LP rows |
Definition at line 2574 of file sol.c.
References assert(), MAX, NULL, SCIP_Real, and sol.
Referenced by SCIPsolUpdateLPConsViolation(), and SCIPupdateSolLPRowViolation().
update constraint violation of a solution
sol | primal CIP solution |
absviolcons | absolute violation of constraint |
relviolcons | relative violation of constraint |
Definition at line 2587 of file sol.c.
References assert(), MAX, NULL, SCIP_Real, and sol.
Referenced by SCIPsolUpdateLPConsViolation(), and SCIPupdateSolConsViolation().
update violation of a constraint that is represented in the LP
sol | primal CIP solution |
absviol | absolute violation of constraint |
relviol | relative violation of constraint |
Definition at line 2600 of file sol.c.
References assert(), NULL, SCIP_Real, SCIPsolUpdateConsViolation(), SCIPsolUpdateLPRowViolation(), and sol.
Referenced by SCIPupdateSolLPConsViolation().
adds value to the objective value of a given original primal CIP solution
sol | primal CIP solution |
addval | offset value to add |
Definition at line 2752 of file sol.c.
References assert(), NULL, SCIP_Real, SCIP_SOLORIGIN_ORIGINAL, and sol.
Referenced by SCIPprimalAddOrigObjoffset().
int SCIPsolGetPrimalIndex | ( | SCIP_SOL * | sol | ) |
gets current position of solution in array of existing solutions of primal data
sol | primal CIP solution |
Definition at line 2814 of file sol.c.
References assert(), NULL, and sol.
Referenced by SCIPprimalSolCreated(), and SCIPprimalSolFreed().
void SCIPsolSetPrimalIndex | ( | SCIP_SOL * | sol, |
int | primalindex ) |
sets current position of solution in array of existing solutions of primal data
sol | primal CIP solution |
primalindex | new primal index of solution |
Definition at line 2824 of file sol.c.
References assert(), NULL, and sol.
Referenced by SCIPprimalSolCreated(), and SCIPprimalSolFreed().