methods for storing primal CIP solutions
Definition in file sol.c.
#include <assert.h>
#include "scip/def.h"
#include "scip/set.h"
#include "scip/stat.h"
#include "scip/clock.h"
#include "scip/misc.h"
#include "scip/lp.h"
#include "scip/nlp.h"
#include "scip/relax.h"
#include "scip/var.h"
#include "scip/prob.h"
#include "scip/sol.h"
#include "scip/primal.h"
#include "scip/tree.h"
#include "scip/cons.h"
#include "scip/pub_message.h"
#include "scip/struct_sol.h"
Go to the source code of this file.
|
static |
clears solution arrays of primal CIP solution
sol | primal CIP solution |
Definition at line 49 of file sol.c.
References FALSE, SCIP_Sol::hasinfval, SCIP_CALL, SCIP_OKAY, SCIPboolarrayClear(), and SCIP_Sol::valid.
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 63 of file sol.c.
References SCIP_Sol::hasinfval, SCIP_CALL, SCIP_OKAY, SCIP_UNKNOWN, SCIPboolarraySetVal(), SCIPrealarraySetVal(), SCIPsetIsInfinity(), SCIPvarGetIndex(), SCIPvarMarkNotDeletable(), TRUE, SCIP_Sol::valid, and SCIP_Sol::vals.
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 94 of file sol.c.
References SCIP_Sol::hasinfval, SCIP_CALL, SCIP_OKAY, SCIP_UNKNOWN, SCIPboolarrayGetVal(), SCIPboolarraySetVal(), SCIPrealarrayGetVal(), SCIPrealarrayIncVal(), SCIPrealarraySetVal(), SCIPsetIsInfinity(), SCIPvarGetIndex(), SCIPvarMarkNotDeletable(), TRUE, SCIP_Sol::valid, and SCIP_Sol::vals.
Referenced by SCIPsolIncVal().
returns the value of the variable in the given solution
sol | primal CIP solution |
var | problem variable |
Definition at line 135 of file sol.c.
References 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(), SCIP_Sol::solorigin, SCIP_Sol::valid, and SCIP_Sol::vals.
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 186 of file sol.c.
References 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(), SCIP_Sol::solorigin, solSetArrayVal(), and SCIP_Sol::valid.
Referenced by SCIPsolUnlink().
|
static |
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 248 of file sol.c.
References SCIP_Sol::depth, SCIP_Sol::lpcount, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Sol::nodenum, SCIP_Stat::nruns, SCIP_Sol::runnum, SCIPclockGetLastTime(), SCIPclockGetTime(), SCIPtreeGetCurrentDepth(), SCIP_Stat::solvingtime, and SCIP_Sol::time.
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 276 of file sol.c.
References BMSallocBlockMemory, FALSE, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ZERO, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), 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 310 of file sol.c.
References BMSallocBlockMemory, FALSE, SCIP_Prob::objoffset, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ORIGINAL, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), 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 344 of file sol.c.
References SCIP_Viol::absviolbounds, SCIP_Viol::absviolcons, SCIP_Viol::absviolintegrality, SCIP_Viol::absviollprows, BMSallocBlockMemory, SCIP_Sol::depth, SCIP_Sol::hasinfval, SCIP_Sol::heur, SCIP_Sol::lpcount, SCIP_Sol::nodenum, SCIP_Sol::obj, SCIP_Viol::relviolbounds, SCIP_Viol::relviolcons, SCIP_Viol::relviollprows, SCIP_Sol::runnum, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIPboolarrayCopy(), SCIPprimalSolCreated(), SCIPrealarrayCopy(), SCIP_Stat::solindex, SCIP_Sol::solorigin, SCIP_Sol::time, 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 389 of file sol.c.
References SCIP_Sol::obj, SCIP_Sol::primalindex, SCIP_CALL, SCIP_OKAY, SCIPsolFree(), SCIPsolIsOriginal(), 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 435 of file sol.c.
References FALSE, SCIP_Bool, SCIP_CALL, 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(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUnchangedObj(), and TRUE.
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 570 of file sol.c.
References SCIP_CALL, SCIP_OKAY, SCIPlpIsSolved(), SCIPsolCreate(), and SCIPsolLinkLPSol().
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 593 of file sol.c.
References SCIP_CALL, SCIP_OKAY, SCIPsolCreate(), and SCIPsolLinkNLPSol().
Referenced by SCIPcreateNLPSol().
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 614 of file sol.c.
References SCIP_CALL, SCIP_OKAY, SCIPrelaxationIsSolValid(), SCIPsolCreate(), and SCIPsolLinkRelaxSol().
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 636 of file sol.c.
References SCIP_CALL, SCIP_OKAY, SCIPsolCreate(), and SCIPsolLinkPseudoSol().
Referenced by addCurrentSolution(), SCIPcreatePseudoSol(), 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 657 of file sol.c.
References SCIP_CALL, SCIP_OKAY, SCIPsolCreateLPSol(), SCIPsolCreatePseudoSol(), and SCIPtreeHasCurrentNodeLP().
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 684 of file sol.c.
References BMSallocBlockMemory, FALSE, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_PARTIAL, SCIP_UNKNOWN, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), 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 718 of file sol.c.
References BMSallocBlockMemory, FALSE, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_UNKNOWN, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), 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 751 of file sol.c.
References BMSfreeBlockMemory, SCIP_CALL, SCIP_OKAY, SCIPboolarrayFree(), SCIPprimalSolFreed(), and SCIPrealarrayFree().
Referenced by enforceConstraints(), freeTransform(), primalAddOrigSol(), primalAddSol(), SCIPfreeSol(), SCIPprimalAddOrigSolFree(), SCIPprimalAddSolFree(), SCIPprimalClear(), SCIPprimalFree(), 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 770 of file sol.c.
References SCIP_Sol::obj, SCIP_Col::primsol, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_LPSOL, SCIPcolGetVar(), SCIPlpDiving(), SCIPlpDivingObjChanged(), SCIPlpGetCols(), SCIPlpGetLooseObjval(), SCIPlpGetNCols(), SCIPlpGetObjval(), SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPtreeProbing(), SCIPvarGetUnchangedObj(), solClearArrays(), SCIP_Sol::solorigin, solStamp(), SCIP_Lp::solved, and TRUE.
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 828 of file sol.c.
References SCIP_Sol::obj, SCIP_CALL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_OKAY, SCIP_SOLORIGIN_NLPSOL, SCIPnlpGetNVars(), SCIPnlpGetObjval(), SCIPnlpGetSolstat(), SCIPnlpGetVars(), SCIPnlpIsDivingObjChanged(), SCIPstatDebugMsg, SCIPvarGetNLPSol(), SCIPvarGetUnchangedObj(), SCIPvarIsActive(), solClearArrays(), SCIP_Sol::solorigin, solStamp(), and TRUE.
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 879 of file sol.c.
References SCIP_Sol::obj, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_RELAXSOL, SCIPrelaxationGetSolObj(), SCIPrelaxationIsSolValid(), SCIPsetDebugMsg, solClearArrays(), SCIP_Sol::solorigin, 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 909 of file sol.c.
References SCIP_Sol::obj, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_PSEUDOSOL, SCIPlpGetPseudoObjval(), SCIPsetDebugMsg, solClearArrays(), SCIP_Sol::solorigin, 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 938 of file sol.c.
References SCIP_CALL, SCIP_OKAY, SCIPlpIsSolved(), SCIPsetDebugMsg, SCIPsolLinkLPSol(), SCIPsolLinkPseudoSol(), and SCIPtreeHasCurrentNodeLP().
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 964 of file sol.c.
References SCIP_Sol::obj, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ZERO, solClearArrays(), SCIP_Sol::solorigin, 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 981 of file sol.c.
References SCIP_Sol::obj, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_UNKNOWN, solClearArrays(), SCIP_Sol::solorigin, 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 998 of file sol.c.
References SCIP_Prob::nvars, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_UNKNOWN, SCIP_SOLORIGIN_ZERO, SCIPsetDebugMsg, SCIPsolIsOriginal(), SCIP_Sol::solorigin, solUnlinkVar(), and SCIP_Prob::vars.
Referenced by primalAddSol(), SCIPaddSol(), SCIPaddSolFree(), SCIPtrySol(), SCIPtrySolFree(), 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 1027 of file sol.c.
References FALSE, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Sol::nodenum, SCIP_Stat::nruns, SCIP_Sol::runnum, SCIP_CALL, 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(), SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPsolSetVal(), SCIPvarGetAggrConstant(), SCIPvarGetAggrScalar(), SCIPvarGetAggrVar(), SCIPvarGetIndex(), SCIPvarGetLbGlobal(), SCIPvarGetMultaggrConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetName(), SCIPvarGetNegationConstant(), SCIPvarGetNegationVar(), SCIPvarGetStatus(), SCIPvarGetTransVar(), SCIPvarGetUnchangedObj(), solGetArrayVal(), SCIP_Sol::solorigin, solSetArrayVal(), and solStamp().
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 1222 of file sol.c.
References FALSE, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Sol::nodenum, SCIP_Stat::nruns, SCIP_Sol::runnum, 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(), solGetArrayVal(), solIncArrayVal(), SCIP_Sol::solorigin, and solStamp().
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 1298 of file sol.c.
References SCIP_Sol::lpcount, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Sol::nodenum, SCIP_Stat::nruns, SCIP_Sol::runnum, 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(), solGetArrayVal(), SCIP_Sol::solorigin, and SCIP_Sol::valid.
Referenced by checkSolOrig(), SCIPgetSolVal(), SCIPgetSolVals(), SCIPnlrowGetSolActivity(), SCIPprimalTransformSol(), SCIProwGetSolActivity(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), 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 1423 of file sol.c.
References 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(), solGetArrayVal(), and SCIP_Sol::solorigin.
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 1492 of file sol.c.
References SCIP_Sol::obj, SCIPprobInternObjval(), and SCIPsolIsOriginal().
Referenced by addCurrentSolution(), primalAddSol(), primalExistsSol(), primalSearchSolPos(), SCIPgetSolOrigObj(), SCIPgetSolTransObj(), SCIPprimalAddSol(), SCIPprimalRetransformSolutions(), SCIPprimalUpdateObjoffset(), SCIPprimalUpperboundIsSol(), SCIPprintMIPStart(), SCIPprintSol(), SCIPprintSolutionStatistics(), SCIPprintTransSol(), SCIPsetRelaxSolValsSol(), SCIPsolsAreEqual(), SCIPsolveCIP(), SCIPtransformProb(), and solOfInterest().
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 1509 of file sol.c.
References SCIP_Sol::obj, SCIP_Real, SCIP_UNKNOWN, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPsolIsOriginal(), SCIPvarGetStatus(), and solGetArrayVal().
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 1528 of file sol.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PARTIAL, SCIP_UNKNOWN, SCIPboolarraySetVal(), SCIPrealarraySetVal(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsolGetVal(), SCIPvarGetIndex(), SCIPvarIsTransformed(), SCIPvarMarkNotDeletable(), SCIP_Sol::solorigin, TRUE, SCIP_Sol::valid, and SCIP_Sol::vals.
Referenced by readSolFile(), and readXmlSolFile().
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 1593 of file sol.c.
References FALSE, SCIP_Sol::hasinfval, MAX, SCIP_Sol::nodenum, SCIP_Prob::nvars, SCIP_Sol::obj, SCIP_CALL, SCIP_FEASIBLE, 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(), SCIP_Sol::solorigin, TRUE, 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 1715 of file sol.c.
References SCIP_Sol::lpcount, SCIP_Stat::lpcount, SCIP_Prob::nbinvars, SCIP_Prob::nintvars, 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(), solGetArrayVal(), SCIP_Sol::solorigin, SCIP_Prob::transformed, SCIP_Sol::valid, 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 1787 of file sol.c.
References SCIP_Prob::nvars, SCIP_Var::primsolavg, SCIP_Real, SCIP_UNKNOWN, SCIPsolGetVal(), SCIPsolIsOriginal(), 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 1815 of file sol.c.
References FALSE, SCIP_Prob::nvars, SCIP_Sol::obj, SCIP_Prob::objoffset, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_ZERO, SCIP_UNKNOWN, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsolGetVal(), SCIPvarGetActiveRepresentatives(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetUnchangedObj(), solClearArrays(), SCIP_Sol::solorigin, solSetArrayVal(), SCIP_Prob::transformed, TRUE, and SCIP_Prob::vars.
Referenced by freeTransform(), SCIPaddSol(), SCIPaddSolFree(), SCIPprimalRetransformSolutions(), SCIPretransformSol(), SCIPsolve(), SCIPtrySol(), and SCIPtrySolFree().
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 1942 of file sol.c.
References SCIP_Prob::nvars, SCIP_Sol::obj, SCIP_Real, SCIP_UNKNOWN, SCIPprobGetObjoffset(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPvarGetUnchangedObj(), and SCIP_Prob::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 1977 of file sol.c.
References FALSE, SCIP_Prob::nvars, SCIP_Sol::obj, SCIP_Real, SCIPsetIsEQ(), 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 2037 of file sol.c.
References SCIP_Prob::fixedvars, SCIP_Prob::nfixedvars, SCIP_Prob::nvars, SCIP_OKAY, SCIP_Real, SCIP_SOLORIGIN_PARTIAL, SCIP_UNKNOWN, SCIPmessageFPrintInfo(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsolGetVal(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPvarGetName(), SCIPvarGetUnchangedObj(), SCIPvarIsIntegral(), SCIPvarIsTransformedOrigvar(), SCIP_Sol::solorigin, 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 2170 of file sol.c.
References SCIP_Prob::fixedvars, SCIP_Prob::nfixedvars, SCIP_Prob::nvars, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPmessageFPrintInfo(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPsolGetRayVal(), SCIPsolIsOriginal(), SCIPvarGetName(), SCIPvarGetUnchangedObj(), SCIPvarIsTransformedOrigvar(), 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 2282 of file sol.c.
References SCIP_Viol::absviolbounds, SCIP_Viol::absviolcons, SCIP_Viol::absviolintegrality, SCIP_Viol::absviollprows, SCIP_Viol::relviolbounds, SCIP_Viol::relviolcons, SCIP_Viol::relviollprows, and SCIP_Sol::viol.
Referenced by checkSolOrig(), SCIPsolCheck(), SCIPsolCreate(), SCIPsolCreateOriginal(), SCIPsolCreatePartial(), and SCIPsolCreateUnknown().
update integrality violation of a solution
sol | primal CIP solution |
absviolintegrality | absolute violation of integrality |
Definition at line 2298 of file sol.c.
References SCIP_Viol::absviolintegrality, MAX, and SCIP_Sol::viol.
Referenced by SCIPupdateSolIntegralityViolation().
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 2309 of file sol.c.
References SCIP_Viol::absviolbounds, MAX, SCIP_Viol::relviolbounds, and SCIP_Sol::viol.
Referenced by 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 2322 of file sol.c.
References SCIP_Viol::absviollprows, MAX, SCIP_Viol::relviollprows, and SCIP_Sol::viol.
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 2335 of file sol.c.
References SCIP_Viol::absviolcons, MAX, SCIP_Viol::relviolcons, and SCIP_Sol::viol.
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 2348 of file sol.c.
References SCIPsolUpdateConsViolation(), and SCIPsolUpdateLPRowViolation().
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 2496 of file sol.c.
References SCIP_Sol::obj, SCIP_SOLORIGIN_ORIGINAL, and SCIP_Sol::solorigin.
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 2558 of file sol.c.
References SCIP_Sol::primalindex.
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 2568 of file sol.c.
References SCIP_Sol::primalindex.
Referenced by SCIPprimalSolCreated(), and SCIPprimalSolFreed().