Detailed Description
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.
Function Documentation
◆ solClearArrays()
|
static |
clears solution arrays of primal CIP solution
- Parameters
-
sol primal CIP solution
Definition at line 61 of file sol.c.
References FALSE, SCIP_Sol::hasinfval, NULL, SCIP_CALL, SCIP_OKAY, SCIPboolarrayClear(), and SCIP_Sol::valid.
Referenced by SCIPsolClear(), SCIPsolLinkLPSol(), SCIPsolLinkNLPSol(), SCIPsolLinkPseudoSol(), SCIPsolLinkRelaxSol(), SCIPsolRetransform(), and SCIPsolSetUnknown().
◆ solSetArrayVal()
|
static |
sets value of variable in the solution's array
- Parameters
-
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 SCIP_Sol::hasinfval, NULL, 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().
◆ solIncArrayVal()
|
static |
increases value of variable in the solution's array
- Parameters
-
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 SCIP_Sol::hasinfval, NULL, 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().
◆ solGetArrayVal()
returns the value of the variable in the given solution
- Parameters
-
sol primal CIP solution var problem variable
Definition at line 147 of file sol.c.
References NULL, 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().
◆ solUnlinkVar()
|
static |
stores solution value of variable in solution's own array
- Parameters
-
sol primal CIP solution set global SCIP settings var problem variable
Definition at line 198 of file sol.c.
References 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(), SCIP_Sol::solorigin, solSetArrayVal(), and SCIP_Sol::valid.
Referenced by SCIPsolUnlink().
◆ solStamp()
|
static |
sets the solution time, nodenum, runnum, and depth stamp to the current values
- Parameters
-
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 SCIP_Sol::depth, SCIP_Sol::lpcount, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Sol::nodenum, SCIP_Stat::nruns, NULL, 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().
◆ SCIPsolCreate()
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
- Parameters
-
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 BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ZERO, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), SCIPsolSetHeur(), SCIP_Stat::solindex, solStamp(), and TRUE.
Referenced by SCIPcreateSol(), SCIPprimalTransformSol(), SCIPsolCreateLPSol(), SCIPsolCreateNLPSol(), SCIPsolCreatePseudoSol(), SCIPsolCreateRelaxSol(), and updatePrimalRay().
◆ SCIPsolCreateOriginal()
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
- Parameters
-
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 BMSallocBlockMemory, FALSE, NULL, SCIP_Prob::objoffset, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ORIGINAL, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), SCIPsolSetHeur(), SCIP_Stat::solindex, solStamp(), and TRUE.
Referenced by SCIPcreateOrigSol(), and SCIPcreateSol().
◆ SCIPsolCopy()
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
- Parameters
-
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, 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(), 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().
◆ SCIPsolTransform()
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
- Parameters
-
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 NULL, 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().
◆ SCIPsolAdjustImplicitSolVals()
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.
- Parameters
-
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 FALSE, NULL, r, 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(), and TRUE.
Referenced by SCIPadjustImplicitSolVals().
◆ SCIPsolCreateLPSol()
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
- Parameters
-
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 NULL, SCIP_CALL, SCIP_OKAY, SCIPlpIsSolved(), SCIPsolCreate(), and SCIPsolLinkLPSol().
Referenced by addCurrentSolution(), SCIPcreateLPSol(), SCIPsolCreateCurrentSol(), SCIPsolveCIP(), and solveNodeLP().
◆ SCIPsolCreateNLPSol()
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
- Parameters
-
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 NULL, SCIP_CALL, SCIP_OKAY, SCIPsolCreate(), and SCIPsolLinkNLPSol().
Referenced by SCIPcreateNLPSol(), and SCIPnlrowRecalcNLPActivity().
◆ SCIPsolCreateRelaxSol()
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
- Parameters
-
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 NULL, SCIP_CALL, SCIP_OKAY, SCIPrelaxationGetSolRelax(), SCIPrelaxationIsSolValid(), SCIPsolCreate(), SCIPsolLinkRelaxSol(), and SCIPsolSetRelax().
Referenced by addCurrentSolution(), enforceConstraints(), SCIPcreateRelaxSol(), SCIPsolveCIP(), and solveNode().
◆ SCIPsolCreatePseudoSol()
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
- Parameters
-
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 NULL, SCIP_CALL, SCIP_OKAY, SCIPsolCreate(), SCIPsolLinkPseudoSol(), and SCIPsolSetPseudo().
Referenced by addCurrentSolution(), SCIPcreatePseudoSol(), SCIPnlrowRecalcPseudoActivity(), SCIPsolCreateCurrentSol(), and SCIPsolveCIP().
◆ SCIPsolCreateCurrentSol()
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
- Parameters
-
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 NULL, SCIP_CALL, SCIP_OKAY, SCIPsolCreateLPSol(), SCIPsolCreatePseudoSol(), and SCIPtreeHasCurrentNodeLP().
Referenced by primalLinkCurrentSol(), SCIPcreateCurrentSol(), SCIPprintSol(), SCIPprintTransSol(), and solveNode().
◆ SCIPsolCreatePartial()
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
- Parameters
-
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 BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_PARTIAL, SCIP_UNKNOWN, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), SCIPsolSetHeur(), SCIP_Stat::solindex, solStamp(), and TRUE.
Referenced by SCIPcreatePartialSol().
◆ SCIPsolCreateUnknown()
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
- Parameters
-
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 BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_UNKNOWN, SCIPboolarrayCreate(), SCIPprimalSolCreated(), SCIPrealarrayCreate(), SCIPsolResetViolations(), SCIPsolSetHeur(), SCIP_Stat::solindex, solStamp(), and TRUE.
Referenced by SCIPcreateUnknownSol().
◆ SCIPsolFree()
SCIP_RETCODE SCIPsolFree | ( | SCIP_SOL ** | sol, |
BMS_BLKMEM * | blkmem, | ||
SCIP_PRIMAL * | primal | ||
) |
frees primal CIP solution
- Parameters
-
sol pointer to primal CIP solution blkmem block memory primal primal data
Definition at line 801 of file sol.c.
References BMSfreeBlockMemory, NULL, SCIP_CALL, SCIP_OKAY, SCIPboolarrayFree(), SCIPprimalSolFreed(), and SCIPrealarrayFree().
Referenced by enforceConstraints(), freeTransform(), primalAddOrigSol(), primalAddSol(), SCIPfreeSol(), SCIPnlrowRecalcNLPActivity(), SCIPnlrowRecalcPseudoActivity(), SCIPprimalAddOrigSolFree(), SCIPprimalAddSolFree(), SCIPprimalClear(), SCIPprimalFree(), SCIPprimalTrySolFree(), SCIPprimalUpdateRay(), SCIPprintSol(), SCIPprintTransSol(), SCIPreoptFree(), SCIPsolTransform(), SCIPsolveCIP(), SCIPtransformProb(), SCIPtrySolFree(), soltreefreeNode(), solveNode(), solveNodeLP(), and updatePrimalRay().
◆ SCIPsolLinkLPSol()
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
- Parameters
-
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 NULL, 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().
◆ SCIPsolLinkNLPSol()
SCIP_RETCODE SCIPsolLinkNLPSol | ( | SCIP_SOL * | sol, |
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree, | ||
SCIP_NLP * | nlp | ||
) |
copies current NLP solution into CIP solution by linking
- Parameters
-
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 NULL, SCIP_Sol::obj, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_NLPSOL, SCIPnlpGetNVars(), SCIPnlpGetObjval(), SCIPnlpGetVars(), SCIPnlpHasSolution(), SCIPnlpIsDivingObjChanged(), SCIPstatDebugMsg, SCIPvarGetNLPSol(), SCIPvarGetUnchangedObj(), SCIPvarIsActive(), solClearArrays(), SCIP_Sol::solorigin, solStamp(), and TRUE.
Referenced by SCIPlinkNLPSol(), and SCIPsolCreateNLPSol().
◆ SCIPsolLinkRelaxSol()
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
- Parameters
-
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 NULL, 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().
◆ SCIPsolLinkPseudoSol()
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
- Parameters
-
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 NULL, 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().
◆ 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
- Parameters
-
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 NULL, SCIP_CALL, SCIP_OKAY, SCIPlpIsSolved(), SCIPsetDebugMsg, SCIPsolLinkLPSol(), SCIPsolLinkPseudoSol(), and SCIPtreeHasCurrentNodeLP().
Referenced by primalLinkCurrentSol(), and SCIPlinkCurrentSol().
◆ SCIPsolClear()
SCIP_RETCODE SCIPsolClear | ( | SCIP_SOL * | sol, |
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree | ||
) |
clears primal CIP solution
- Parameters
-
sol primal CIP solution stat problem statistics data tree branch and bound tree
Definition at line 1014 of file sol.c.
References NULL, SCIP_Sol::obj, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ZERO, solClearArrays(), SCIP_Sol::solorigin, solStamp(), and TRUE.
Referenced by SCIPclearSol().
◆ SCIPsolSetUnknown()
SCIP_RETCODE SCIPsolSetUnknown | ( | SCIP_SOL * | sol, |
SCIP_STAT * | stat, | ||
SCIP_TREE * | tree | ||
) |
declares all entries in the primal CIP solution to be unknown
- Parameters
-
sol primal CIP solution stat problem statistics data tree branch and bound tree
Definition at line 1031 of file sol.c.
References NULL, SCIP_Sol::obj, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_UNKNOWN, solClearArrays(), SCIP_Sol::solorigin, solStamp(), and TRUE.
◆ SCIPsolUnlink()
SCIP_RETCODE SCIPsolUnlink | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_PROB * | prob | ||
) |
stores solution values of variables in solution's own array
- Parameters
-
sol primal CIP solution set global SCIP settings prob transformed problem data
Definition at line 1048 of file sol.c.
References NULL, 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().
◆ SCIPsolSetVal()
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
- Parameters
-
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 FALSE, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Sol::nodenum, SCIP_Stat::nruns, NULL, 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(), 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().
◆ SCIPsolIncVal()
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
- Parameters
-
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 1271 of file sol.c.
References FALSE, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Sol::nodenum, SCIP_Stat::nruns, NULL, 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().
◆ SCIPsolGetVal()
returns value of variable in primal CIP solution
- Parameters
-
sol primal CIP solution set global SCIP settings stat problem statistics data var variable to get value for
Definition at line 1347 of file sol.c.
References SCIP_Sol::lpcount, SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Sol::nodenum, SCIP_Stat::nruns, NULL, 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(), SCIProwGetLPSolCutoffDistance(), SCIProwGetSolActivity(), SCIPsolAdjustImplicitSolVals(), SCIPsolCheck(), SCIPsolGetVal(), SCIPsolMarkPartial(), SCIPsolPrint(), SCIPsolRecomputeObj(), SCIPsolRetransform(), SCIPsolsAreEqual(), SCIPsolUpdateVarsum(), SCIPvarGetClosestVlb(), SCIPvarGetClosestVub(), separateSolution(), and soltreeAddSol().
◆ SCIPsolGetRayVal()
returns value of variable in primal ray represented by primal CIP solution
- Parameters
-
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 1477 of file sol.c.
References NULL, 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().
◆ SCIPsolGetObj()
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
- Parameters
-
sol primal CIP solution set global SCIP settings transprob tranformed problem data origprob original problem data
Definition at line 1546 of file sol.c.
References NULL, 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(), solOfInterest(), and sortPrimalSols().
◆ SCIPsolUpdateVarObj()
updates primal solutions after a change in a variable's objective value
- Parameters
-
sol primal CIP solution var problem variable oldobj old objective value newobj new objective value
Definition at line 1563 of file sol.c.
References NULL, SCIP_Sol::obj, SCIP_Real, SCIP_UNKNOWN, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPsolIsOriginal(), SCIPvarGetStatus(), and solGetArrayVal().
Referenced by SCIPprimalUpdateVarObj().
◆ SCIPsolMarkPartial()
SCIP_RETCODE SCIPsolMarkPartial | ( | SCIP_SOL * | sol, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_VAR ** | vars, | ||
int | nvars | ||
) |
- Parameters
-
sol primal CIP solution set global SCIP settings stat problem statistics vars problem variables nvars number of problem variables
Definition at line 1582 of file sol.c.
References FALSE, NULL, 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().
◆ SCIPsolCheck()
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
- Note
- The difference between SCIPsolCheck() and SCIPcheckSolOrig() is that modifiable constraints are handled differently. There might be some variables which do not have an original counter part (e.g. in branch-and-price). Therefore, modifiable constraints can not be double-checked in the original space.
- Parameters
-
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 1647 of file sol.c.
References FALSE, h, SCIP_Sol::hasinfval, MAX, SCIP_Sol::nodenum, NULL, 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().
◆ SCIPsolRound()
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
- Parameters
-
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 1768 of file sol.c.
References SCIP_Sol::lpcount, SCIP_Stat::lpcount, SCIP_Prob::nbinvars, SCIP_Prob::nintvars, NULL, 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().
◆ SCIPsolUpdateVarsum()
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
- Parameters
-
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 1840 of file sol.c.
References NULL, SCIP_Prob::nvars, SCIP_Var::primsolavg, SCIP_Real, SCIP_UNKNOWN, SCIPsolGetVal(), SCIPsolIsOriginal(), and SCIP_Prob::vars.
Referenced by primalAddSol().
◆ SCIPsolRetransform()
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
- Parameters
-
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 1868 of file sol.c.
References FALSE, NULL, 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().
◆ SCIPsolRecomputeObj()
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)
- Parameters
-
sol primal CIP solution set global SCIP settings stat problem statistics data origprob original problem
Definition at line 1995 of file sol.c.
References NULL, 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().
◆ SCIPsolsAreEqual()
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
- Parameters
-
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 2030 of file sol.c.
References 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().
◆ SCIPsolPrint()
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
- Parameters
-
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 2095 of file sol.c.
References SCIP_Prob::fixedvars, SCIP_Prob::nfixedvars, NULL, 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().
◆ SCIPsolPrintRay()
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
- Parameters
-
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 2231 of file sol.c.
References SCIP_Prob::fixedvars, SCIP_Prob::nfixedvars, NULL, 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().
◆ SCIPsolResetViolations()
void SCIPsolResetViolations | ( | SCIP_SOL * | sol | ) |
reset violations of a solution
- Parameters
-
sol primal CIP solution
Definition at line 2343 of file sol.c.
References SCIP_Viol::absviolbounds, SCIP_Viol::absviolcons, SCIP_Viol::absviolintegrality, SCIP_Viol::absviollprows, NULL, SCIP_Viol::relviolbounds, SCIP_Viol::relviolcons, SCIP_Viol::relviollprows, and SCIP_Sol::viol.
Referenced by checkSolOrig(), SCIPsolCheck(), SCIPsolCreate(), SCIPsolCreateOriginal(), SCIPsolCreatePartial(), and SCIPsolCreateUnknown().
◆ SCIPsolUpdateIntegralityViolation()
update integrality violation of a solution
- Parameters
-
sol primal CIP solution absviolintegrality absolute violation of integrality
Definition at line 2359 of file sol.c.
References SCIP_Viol::absviolintegrality, MAX, NULL, and SCIP_Sol::viol.
Referenced by SCIPupdateSolIntegralityViolation().
◆ SCIPsolUpdateBoundViolation()
void SCIPsolUpdateBoundViolation | ( | SCIP_SOL * | sol, |
SCIP_Real | absviolbounds, | ||
SCIP_Real | relviolbounds | ||
) |
update bound violation of a solution
- Parameters
-
sol primal CIP solution absviolbounds absolute violation of bounds relviolbounds relative violation of bounds
Definition at line 2370 of file sol.c.
References SCIP_Viol::absviolbounds, MAX, NULL, SCIP_Viol::relviolbounds, and SCIP_Sol::viol.
Referenced by SCIPupdateSolBoundViolation().
◆ SCIPsolUpdateLPRowViolation()
void SCIPsolUpdateLPRowViolation | ( | SCIP_SOL * | sol, |
SCIP_Real | absviollprows, | ||
SCIP_Real | relviollprows | ||
) |
update LP row violation of a solution
- Parameters
-
sol primal CIP solution absviollprows absolute violation of LP rows relviollprows relative violation of LP rows
Definition at line 2383 of file sol.c.
References SCIP_Viol::absviollprows, MAX, NULL, SCIP_Viol::relviollprows, and SCIP_Sol::viol.
Referenced by SCIPsolUpdateLPConsViolation(), and SCIPupdateSolLPRowViolation().
◆ SCIPsolUpdateConsViolation()
update constraint violation of a solution
- Parameters
-
sol primal CIP solution absviolcons absolute violation of constraint relviolcons relative violation of constraint
Definition at line 2396 of file sol.c.
References SCIP_Viol::absviolcons, MAX, NULL, SCIP_Viol::relviolcons, and SCIP_Sol::viol.
Referenced by SCIPsolUpdateLPConsViolation(), and SCIPupdateSolConsViolation().
◆ SCIPsolUpdateLPConsViolation()
update violation of a constraint that is represented in the LP
- Parameters
-
sol primal CIP solution absviol absolute violation of constraint relviol relative violation of constraint
Definition at line 2409 of file sol.c.
References NULL, SCIPsolUpdateConsViolation(), and SCIPsolUpdateLPRowViolation().
Referenced by SCIPupdateSolLPConsViolation().
◆ SCIPsolOrigAddObjval()
adds value to the objective value of a given original primal CIP solution
- Parameters
-
sol primal CIP solution addval offset value to add
Definition at line 2561 of file sol.c.
References NULL, SCIP_Sol::obj, SCIP_SOLORIGIN_ORIGINAL, and SCIP_Sol::solorigin.
Referenced by SCIPprimalAddOrigObjoffset().
◆ SCIPsolGetPrimalIndex()
int SCIPsolGetPrimalIndex | ( | SCIP_SOL * | sol | ) |
gets current position of solution in array of existing solutions of primal data
- Parameters
-
sol primal CIP solution
Definition at line 2623 of file sol.c.
References NULL, and SCIP_Sol::primalindex.
Referenced by SCIPprimalSolCreated(), and SCIPprimalSolFreed().
◆ SCIPsolSetPrimalIndex()
void SCIPsolSetPrimalIndex | ( | SCIP_SOL * | sol, |
int | primalindex | ||
) |
sets current position of solution in array of existing solutions of primal data
- Parameters
-
sol primal CIP solution primalindex new primal index of solution
Definition at line 2633 of file sol.c.
References NULL, and SCIP_Sol::primalindex.
Referenced by SCIPprimalSolCreated(), and SCIPprimalSolFreed().