Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods to create and change primal solutions of SCIP

Functions

SCIP_SOLORIGIN SCIPsolGetOrigin (SCIP_SOL *sol)
 
SCIP_Bool SCIPsolIsOriginal (SCIP_SOL *sol)
 
SCIP_Bool SCIPsolIsExact (SCIP_SOL *sol)
 
SCIP_Bool SCIPsolIsPartial (SCIP_SOL *sol)
 
SCIP_Real SCIPsolGetOrigObj (SCIP_SOL *sol)
 
void SCIPsolOrigAddObjvalExact (SCIP_SOL *sol, SCIP_RATIONAL *addval)
 
SCIP_Real SCIPsolGetTime (SCIP_SOL *sol)
 
int SCIPsolGetRunnum (SCIP_SOL *sol)
 
SCIP_Longint SCIPsolGetNodenum (SCIP_SOL *sol)
 
int SCIPsolGetDepth (SCIP_SOL *sol)
 
SCIP_SOLTYPE SCIPsolGetType (SCIP_SOL *sol)
 
SCIP_HEURSCIPsolGetHeur (SCIP_SOL *sol)
 
SCIP_RELAXSCIPsolGetRelax (SCIP_SOL *sol)
 
void SCIPsolSetHeur (SCIP_SOL *sol, SCIP_HEUR *heur)
 
void SCIPsolSetRelax (SCIP_SOL *sol, SCIP_RELAX *relax)
 
void SCIPsolSetLPRelaxation (SCIP_SOL *sol)
 
void SCIPsolSetStrongbranching (SCIP_SOL *sol)
 
void SCIPsolSetPseudo (SCIP_SOL *sol)
 
int SCIPsolGetIndex (SCIP_SOL *sol)
 
SCIP_Real SCIPsolGetAbsBoundViolation (SCIP_SOL *sol)
 
SCIP_Real SCIPsolGetRelBoundViolation (SCIP_SOL *sol)
 
SCIP_Real SCIPsolGetAbsIntegralityViolation (SCIP_SOL *sol)
 
SCIP_Real SCIPsolGetAbsLPRowViolation (SCIP_SOL *sol)
 
SCIP_Real SCIPsolGetRelLPRowViolation (SCIP_SOL *sol)
 
SCIP_Real SCIPsolGetAbsConsViolation (SCIP_SOL *sol)
 
SCIP_Real SCIPsolGetRelConsViolation (SCIP_SOL *sol)
 
 SCIP_DECL_SORTPTRCOMP (SCIPsolComp)
 
SCIP_RETCODE SCIPcreateSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateSolExact (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateLPSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateLPSolExact (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateNLPSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateRelaxSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreatePseudoSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateCurrentSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreatePartialSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateUnknownSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateOrigSol (SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)
 
SCIP_RETCODE SCIPcreateSolCopy (SCIP *scip, SCIP_SOL **sol, SCIP_SOL *sourcesol)
 
SCIP_RETCODE SCIPcreateSolCopyOrig (SCIP *scip, SCIP_SOL **sol, SCIP_SOL *sourcesol)
 
SCIP_RETCODE SCIPcreateFiniteSolCopy (SCIP *scip, SCIP_SOL **sol, SCIP_SOL *sourcesol, SCIP_Bool *success)
 
SCIP_RETCODE SCIPfreeSol (SCIP *scip, SCIP_SOL **sol)
 
SCIP_RETCODE SCIPlinkLPSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPlinkLPSolExact (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPlinkNLPSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPlinkRelaxSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPlinkPseudoSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPlinkCurrentSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPclearSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPunlinkSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPunlinkSolExact (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPsetSolVal (SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_Real val)
 
SCIP_RETCODE SCIPsetSolValExact (SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_RATIONAL *val)
 
SCIP_RETCODE SCIPsetSolVals (SCIP *scip, SCIP_SOL *sol, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_RETCODE SCIPincSolVal (SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_Real incval)
 
SCIP_Real SCIPgetSolVal (SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var)
 
void SCIPgetSolValExact (SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_RATIONAL *res)
 
SCIP_RETCODE SCIPgetSolVals (SCIP *scip, SCIP_SOL *sol, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_Real SCIPgetSolOrigObj (SCIP *scip, SCIP_SOL *sol)
 
void SCIPgetSolOrigObjExact (SCIP *scip, SCIP_SOL *sol, SCIP_RATIONAL *res)
 
SCIP_Real SCIPgetSolTransObj (SCIP *scip, SCIP_SOL *sol)
 
void SCIPgetSolTransObjExact (SCIP *scip, SCIP_SOL *sol, SCIP_RATIONAL *res)
 
SCIP_RETCODE SCIPrecomputeSolObj (SCIP *scip, SCIP_SOL *sol)
 
SCIP_Real SCIPtransformObj (SCIP *scip, SCIP_Real obj)
 
SCIP_Real SCIPretransformObj (SCIP *scip, SCIP_Real obj)
 
SCIP_Real SCIPgetSolTime (SCIP *scip, SCIP_SOL *sol)
 
int SCIPgetSolRunnum (SCIP *scip, SCIP_SOL *sol)
 
SCIP_Longint SCIPgetSolNodenum (SCIP *scip, SCIP_SOL *sol)
 
SCIP_HEURSCIPgetSolHeur (SCIP *scip, SCIP_SOL *sol)
 
SCIP_Bool SCIPareSolsEqual (SCIP *scip, SCIP_SOL *sol1, SCIP_SOL *sol2)
 
SCIP_RETCODE SCIPadjustImplicitSolVals (SCIP *scip, SCIP_SOL *sol, SCIP_Bool uselprows)
 
SCIP_RETCODE SCIPprintSol (SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIPprintSolExact (SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIPprintTransSol (SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIPprintMIPStart (SCIP *scip, SCIP_SOL *sol, FILE *file)
 
SCIP_RETCODE SCIPgetDualSolVal (SCIP *scip, SCIP_CONS *cons, SCIP_Real *dualsolval, SCIP_Bool *boundconstraint)
 
SCIP_Bool SCIPisDualSolAvailable (SCIP *scip, SCIP_Bool printreason)
 
SCIP_RETCODE SCIPprintDualSol (SCIP *scip, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIPprintRay (SCIP *scip, SCIP_SOL *sol, FILE *file, SCIP_Bool printzeros)
 
int SCIPgetNSols (SCIP *scip)
 
SCIP_SOL ** SCIPgetSols (SCIP *scip)
 
SCIP_SOLSCIPgetBestSol (SCIP *scip)
 
SCIP_RETCODE SCIPprintBestSol (SCIP *scip, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIPprintBestTransSol (SCIP *scip, FILE *file, SCIP_Bool printzeros)
 
SCIP_RETCODE SCIProundSol (SCIP *scip, SCIP_SOL *sol, SCIP_Bool *success)
 
SCIP_RETCODE SCIPmakeSolExact (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPretransformSol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPretransformSolExact (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPreadSol (SCIP *scip, const char *filename)
 
SCIP_RETCODE SCIPreadSolFile (SCIP *scip, const char *filename, SCIP_SOL *sol, SCIP_Bool xml, SCIP_Bool *partial, SCIP_Bool *error)
 
SCIP_RETCODE SCIPaddSol (SCIP *scip, SCIP_SOL *sol, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPaddSolFree (SCIP *scip, SCIP_SOL **sol, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPaddCurrentSol (SCIP *scip, SCIP_HEUR *heur, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPtrySol (SCIP *scip, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPtrySolFree (SCIP *scip, SCIP_SOL **sol, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
 
SCIP_RETCODE SCIPtryCurrentSol (SCIP *scip, SCIP_HEUR *heur, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
 
SCIP_SOL ** SCIPgetPartialSols (SCIP *scip)
 
int SCIPgetNPartialSols (SCIP *scip)
 
SCIP_RETCODE SCIPcheckSol (SCIP *scip, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *feasible)
 
SCIP_RETCODE SCIPcheckSolOrig (SCIP *scip, SCIP_SOL *sol, SCIP_Bool *feasible, SCIP_Bool printreason, SCIP_Bool completely)
 
void SCIPupdateSolIntegralityViolation (SCIP *scip, SCIP_SOL *sol, SCIP_Real absviol)
 
void SCIPupdateSolBoundViolation (SCIP *scip, SCIP_SOL *sol, SCIP_Real absviol, SCIP_Real relviol)
 
void SCIPupdateSolLPRowViolation (SCIP *scip, SCIP_SOL *sol, SCIP_Real absviol, SCIP_Real relviol)
 
void SCIPupdateSolConsViolation (SCIP *scip, SCIP_SOL *sol, SCIP_Real absviol, SCIP_Real relviol)
 
void SCIPupdateSolLPConsViolation (SCIP *scip, SCIP_SOL *sol, SCIP_Real absviol, SCIP_Real relviol)
 
void SCIPactivateSolViolationUpdates (SCIP *scip)
 
void SCIPdeactivateSolViolationUpdates (SCIP *scip)
 
SCIP_Bool SCIPhasPrimalRay (SCIP *scip)
 
SCIP_Real SCIPgetPrimalRayVal (SCIP *scip, SCIP_VAR *var)
 
SCIP_RETCODE SCIPupdatePrimalRay (SCIP *scip, SCIP_SOL *primalray)
 
SCIP_RETCODE SCIPoverwriteFPsol (SCIP *scip, SCIP_SOL *sol)
 
SCIP_RETCODE SCIPtrySolFreeExact (SCIP *scip, SCIP_SOL **sol, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)
 

Function Documentation

◆ SCIPsolGetOrigin()

◆ SCIPsolIsOriginal()

SCIP_Bool SCIPsolIsOriginal ( SCIP_SOL sol)

returns whether the given solution is defined on original variables

Parameters
solprimal CIP solution

Definition at line 4140 of file sol.c.

References NULL, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PARTIAL, and SCIP_Sol::solorigin.

Referenced by executeDivingHeuristic(), freeTransform(), origsolOfInterest(), primalAddSol(), primalExistsSol(), primalSearchSolPos(), SCIP_DECL_CONSCHECK(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_DIVESETAVAILABLE(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_HEUREXEC(), SCIPaddSol(), SCIPaddSolFree(), SCIPapplyProximity(), SCIPcheckSol(), SCIPgetSolOrigObj(), SCIPgetSolOrigObjExact(), SCIPgetSolVarsData(), SCIPincSolVal(), SCIPprimalAddOrigSol(), SCIPprimalAddOrigSolFree(), SCIPprimalTransformSol(), SCIPprimalUpdateObjoffset(), SCIPprimalUpdateObjoffsetExact(), SCIPprimalUpdateVarObj(), SCIPprintBestTransSol(), SCIPprintMIPStart(), SCIPprintSol(), SCIPprintSolExact(), SCIPprintTransSol(), SCIProundSol(), SCIPsetSolVal(), SCIPsetSolValExact(), SCIPsetSolVals(), SCIPsolCheck(), SCIPsolGetObj(), SCIPsolGetObjExact(), SCIPsolGetOrigObj(), SCIPsolGetOrigObjExact(), SCIPsolGetRayVal(), SCIPsolGetVal(), SCIPsolIncVal(), SCIPsolOverwriteFPSolWithExact(), SCIPsolPrint(), SCIPsolPrintRay(), SCIPsolRecomputeObj(), SCIPsolRound(), SCIPsolsAreEqual(), SCIPsolSetVal(), SCIPsolTransform(), SCIPsolUnlink(), SCIPsolUpdateVarObj(), SCIPsolUpdateVarsum(), SCIPsolve(), SCIPtrySol(), SCIPtrySolFree(), SCIPtrySolFreeExact(), separateSolution(), solCheckExact(), and transformSols().

◆ SCIPsolIsExact()

◆ SCIPsolIsPartial()

SCIP_Bool SCIPsolIsPartial ( SCIP_SOL sol)

returns whether the given solution is partial

returns whether the given solution is defined on original variables and containes unknown solution values

Parameters
solprimal CIP solution

Definition at line 4160 of file sol.c.

References NULL, SCIP_SOLORIGIN_PARTIAL, and SCIP_Sol::solorigin.

Referenced by readSol(), readSolFile(), readXmlSolFile(), SCIP_DECL_HEUREXEC(), SCIPcheckSol(), SCIPcheckSolOrig(), SCIPprimalAddOrigSol(), SCIPprimalAddOrigSolFree(), SCIPprimalAddSol(), SCIPprimalAddSolFreeExact(), SCIPprintMIPStart(), SCIPprintSol(), SCIPprintSolExact(), SCIPsolPrint(), SCIPsolSetVal(), SCIPtrySol(), SCIPtrySolFree(), and SCIPtrySolFreeExact().

◆ SCIPsolGetOrigObj()

SCIP_Real SCIPsolGetOrigObj ( SCIP_SOL sol)

gets objective value of primal CIP solution which lives in the original problem space

Parameters
solprimal CIP solution

Definition at line 4170 of file sol.c.

References NULL, SCIP_Sol::obj, and SCIPsolIsOriginal().

Referenced by prepareSeparation(), primalAddOrigSol(), primalAddSol(), primalExistsOrigSol(), primalSearchOrigSolPos(), SCIPgetSolOrigObj(), SCIPprimalAddOrigObjoffset(), SCIPprimalAddOrigObjoffsetExact(), SCIPprimalTransformSol(), SCIPprintMIPStart(), SCIPprintSol(), solveAndEvalSubscip(), and storeSolution().

◆ SCIPsolOrigAddObjvalExact()

void SCIPsolOrigAddObjvalExact ( SCIP_SOL sol,
SCIP_RATIONAL addval 
)

adds value to the objective value of a given original primal CIP solution

Parameters
solprimal CIP solution
addvaloffset value to add

Definition at line 4205 of file sol.c.

References NULL, SCIP_Sol::obj, SCIP_ValsExact::obj, SCIP_SOLORIGIN_ORIGINAL, SCIPrationalAdd(), SCIPrationalGetReal(), SCIPsolIsExact(), SCIP_Sol::solorigin, and SCIP_Sol::valsexact.

Referenced by SCIPprimalAddOrigObjoffsetExact().

◆ SCIPsolGetTime()

SCIP_Real SCIPsolGetTime ( SCIP_SOL sol)

gets clock time, when this solution was found

Parameters
solprimal CIP solution

Definition at line 4219 of file sol.c.

References NULL, and SCIP_Sol::time.

Referenced by primalAddSol(), SCIPgetSolTime(), and SCIPprintSolutionStatistics().

◆ SCIPsolGetRunnum()

int SCIPsolGetRunnum ( SCIP_SOL sol)

gets branch and bound run number, where this solution was found

Parameters
solprimal CIP solution

Definition at line 4229 of file sol.c.

References NULL, and SCIP_Sol::runnum.

Referenced by primalAddSol(), SCIPgetSolRunnum(), and SCIPprintSolutionStatistics().

◆ SCIPsolGetNodenum()

SCIP_Longint SCIPsolGetNodenum ( SCIP_SOL sol)

gets node number of the specific branch and bound run, where this solution was found

gets node number, where this solution was found

Parameters
solprimal CIP solution

Definition at line 4239 of file sol.c.

References SCIP_Sol::nodenum, and NULL.

Referenced by determineVariableFixings(), primalAddSol(), SCIP_DECL_HEUREXEC(), SCIPapplyProximity(), SCIPgetSolNodenum(), SCIPprintSolutionStatistics(), SCIPsolve(), setupAndSolve(), and solHasNewSource().

◆ SCIPsolGetDepth()

int SCIPsolGetDepth ( SCIP_SOL sol)

gets node's depth, where this solution was found

Parameters
solprimal CIP solution

Definition at line 4249 of file sol.c.

References SCIP_Sol::depth, and NULL.

Referenced by primalAddSol(), and SCIPprintSolutionStatistics().

◆ SCIPsolGetType()

SCIP_SOLTYPE SCIPsolGetType ( SCIP_SOL sol)

gets information if solution was found by the LP, a primal heuristic, or a custom relaxator

Parameters
solprimal CIP solution

Definition at line 4321 of file sol.c.

References NULL, and SCIP_Sol::type.

Referenced by SCIP_DECL_CONSCHECK(), and SCIP_DECL_DISPOUTPUT().

◆ SCIPsolGetHeur()

◆ SCIPsolGetRelax()

SCIP_RELAX * SCIPsolGetRelax ( SCIP_SOL sol)

gets relaxation handler that found this solution, or NULL if solution has different type than SCIP_SOLTYPE_RELAX

Parameters
solprimal CIP solution

Definition at line 4331 of file sol.c.

References SCIP_Sol::creator, NULL, SCIP_Sol::relax, SCIP_SOLTYPE_RELAX, and SCIP_Sol::type.

Referenced by SCIP_DECL_DISPOUTPUT(), and SCIPsolCopy().

◆ SCIPsolSetHeur()

void SCIPsolSetHeur ( SCIP_SOL sol,
SCIP_HEUR heur 
)

informs the solution that it now belongs to the given primal heuristic. For convenience and backwards compatibility, the method accepts NULL as input for heur, in which case the solution type is set to SCIP_SOLTYPE_LPRELAX.

Note
Relaxation handlers should use SCIPsolSetRelax() instead.
Parameters
solprimal CIP solution
heurprimal heuristic that found the solution, or NULL for LP solutions

Definition at line 4304 of file sol.c.

References SCIP_Sol::creator, SCIP_Sol::heur, NULL, SCIP_SOLTYPE_HEUR, SCIPsolSetLPRelaxation(), and SCIP_Sol::type.

Referenced by createSolFromNLP(), createSolFromSubScipSol(), primalLinkCurrentSol(), SCIP_DECL_CONSCHECK(), SCIP_DECL_HEUREXEC(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPheurSyncPassSol(), SCIPsolCopy(), SCIPsolCreate(), SCIPsolCreateOriginal(), SCIPsolCreatePartial(), SCIPsolCreateUnknown(), SCIPupdateStartpointHeurSubNlp(), and solveComponent().

◆ SCIPsolSetRelax()

void SCIPsolSetRelax ( SCIP_SOL sol,
SCIP_RELAX relax 
)

informs the solution that it now belongs to the given relaxation handler

Parameters
solprimal CIP solution
relaxrelaxator that found the solution

Definition at line 4341 of file sol.c.

References SCIP_Sol::creator, NULL, SCIP_Sol::relax, SCIP_SOLTYPE_RELAX, and SCIP_Sol::type.

Referenced by SCIPsolCopy(), and SCIPsolCreateRelaxSol().

◆ SCIPsolSetLPRelaxation()

void SCIPsolSetLPRelaxation ( SCIP_SOL sol)

informs the solution that it is an LP relaxation solution

Parameters
solprimal CIP solution

Definition at line 4354 of file sol.c.

References NULL, SCIP_SOLTYPE_LPRELAX, and SCIP_Sol::type.

Referenced by SCIPsolSetHeur().

◆ SCIPsolSetStrongbranching()

void SCIPsolSetStrongbranching ( SCIP_SOL sol)

informs the solution that it is a solution found during strong branching

Parameters
solprimal CIP solution

Definition at line 4364 of file sol.c.

References NULL, SCIP_SOLTYPE_STRONGBRANCH, and SCIP_Sol::type.

Referenced by SCIPtryStrongbranchLPSol().

◆ SCIPsolSetPseudo()

void SCIPsolSetPseudo ( SCIP_SOL sol)

informs the solution that it originates from a pseudo solution

Parameters
solprimal CIP solution

Definition at line 4374 of file sol.c.

References NULL, SCIP_SOLTYPE_PSEUDO, and SCIP_Sol::type.

Referenced by SCIPsolCreatePseudoSol().

◆ SCIPsolGetIndex()

◆ SCIPsolGetAbsBoundViolation()

SCIP_Real SCIPsolGetAbsBoundViolation ( SCIP_SOL sol)

get maximum absolute bound violation of solution

Parameters
solprimal CIP solution

Definition at line 3967 of file sol.c.

References SCIP_Viol::absviolbounds, NULL, and SCIP_Sol::viol.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPsolGetRelBoundViolation()

SCIP_Real SCIPsolGetRelBoundViolation ( SCIP_SOL sol)

get maximum relative bound violation of solution

Parameters
solprimal CIP solution

Definition at line 3977 of file sol.c.

References NULL, SCIP_Viol::relviolbounds, and SCIP_Sol::viol.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPsolGetAbsIntegralityViolation()

SCIP_Real SCIPsolGetAbsIntegralityViolation ( SCIP_SOL sol)

get maximum absolute integrality violation of solution

Parameters
solprimal CIP solution

Definition at line 3987 of file sol.c.

References SCIP_Viol::absviolintegrality, NULL, and SCIP_Sol::viol.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPsolGetAbsLPRowViolation()

SCIP_Real SCIPsolGetAbsLPRowViolation ( SCIP_SOL sol)

get maximum absolute LP row violation of solution

Parameters
solprimal CIP solution

Definition at line 3997 of file sol.c.

References SCIP_Viol::absviollprows, NULL, and SCIP_Sol::viol.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPsolGetRelLPRowViolation()

SCIP_Real SCIPsolGetRelLPRowViolation ( SCIP_SOL sol)

get maximum relative LP row violation of solution

Parameters
solprimal CIP solution

Definition at line 4007 of file sol.c.

References NULL, SCIP_Viol::relviollprows, and SCIP_Sol::viol.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPsolGetAbsConsViolation()

SCIP_Real SCIPsolGetAbsConsViolation ( SCIP_SOL sol)

get maximum absolute constraint violation of solution

Parameters
solprimal CIP solution

Definition at line 4017 of file sol.c.

References SCIP_Viol::absviolcons, NULL, and SCIP_Sol::viol.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPsolGetRelConsViolation()

SCIP_Real SCIPsolGetRelConsViolation ( SCIP_SOL sol)

get maximum relative constraint violation of solution

Parameters
solprimal CIP solution

Definition at line 4027 of file sol.c.

References NULL, SCIP_Viol::relviolcons, and SCIP_Sol::viol.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIP_DECL_SORTPTRCOMP()

SCIP_DECL_SORTPTRCOMP ( SCIPsolComp  )

comparison method for sorting solution by decreasing objective value (best solution will be sorted to the end)

Definition at line 4091 of file sol.c.

◆ SCIPcreateSol()

SCIP_RETCODE SCIPcreateSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to zero

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 516 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage, SCIPerrorMessage, SCIPsolCreate(), SCIPsolCreateOriginal(), and TRUE.

Referenced by addInitialSolution(), applyBoundHeur(), applyRepair(), applyVbounds(), checkSystemGF2(), computeInteriorPoint(), computeOffValues(), createCGMIPprimalsols(), createNewSol(), createOriginalSolution(), createSolFromNLP(), createSolFromSubScipSol(), createSwitchSolution(), DECL_VARFIXINGS(), estimateConvexSecant(), estimateGradient(), estimateVertexPolyhedral(), generateCloseCutPoint(), generateIntercut(), heurExec(), initConcsolver(), initProblem(), MirReduction(), AMPLProblemHandler::OnInitialValue(), presolve(), readSol(), reoptimize(), sampleRandomPoints(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEURINIT(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRINITSEPA(), SCIPaddNlRowGradientBenderscutOpt(), SCIPcomputeLPRelIntPoint(), SCIPcycAddIncompleteSol(), SCIPtranslateSubSol(), SCIPtranslateSubSols(), separateAlternativeProofs(), separateCuts(), setAndUpdateCorePoint(), setupAndSolve(), solveNLP(), startProbing(), tryOneOpt(), and trySolCandidate().

◆ SCIPcreateSolExact()

SCIP_RETCODE SCIPcreateSolExact ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates an exact primal solution, initialized to zero

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 566 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage, SCIPerrorMessage, SCIPsolCreateExact(), SCIPsolCreateOriginalExact(), and TRUE.

Referenced by presolve(), and readSol().

◆ SCIPcreateLPSol()

SCIP_RETCODE SCIPcreateLPSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 608 of file scip_sol.c.

References FALSE, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPsolCreateLPSol(), SCIPtreeHasCurrentNodeLP(), and TRUE.

Referenced by constructValidSolution(), copyCurrentSolution(), performInteriorSolCutStrengthening(), proposeFeasibleSolution(), SCIP_DECL_CONSENFOLP(), SCIPtryStrongbranchLPSol(), and setAndUpdateCorePoint().

◆ SCIPcreateLPSolExact()

SCIP_RETCODE SCIPcreateLPSolExact ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates an exact primal solution, initialized to the current exact LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 636 of file scip_sol.c.

References FALSE, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPsolCreateLPSolExact(), SCIPtreeHasCurrentNodeLP(), and TRUE.

Referenced by SCIP_DECL_CONSCHECK().

◆ SCIPcreateNLPSol()

SCIP_RETCODE SCIPcreateNLPSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current NLP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 664 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPisNLPConstructed(), SCIPnlpHasSolution(), SCIPsolCreateNLPSol(), and TRUE.

Referenced by getNlpSolution(), resolveNLPWithTighterFeastol(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPaddNlRowGradientBenderscutOpt(), SCIPbendersSolSlackVarsActive(), and SCIPbendersSolveSubproblemLP().

◆ SCIPcreateRelaxSol()

SCIP_RETCODE SCIPcreateRelaxSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current relaxation solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 699 of file scip_sol.c.

References FALSE, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPrelaxationIsSolValid(), SCIPsolCreateRelaxSol(), and TRUE.

Referenced by constructValidSolution().

◆ SCIPcreatePseudoSol()

SCIP_RETCODE SCIPcreatePseudoSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 726 of file scip_sol.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolCreatePseudoSol(), and TRUE.

Referenced by constructValidSolution(), and SCIP_DECL_CONSENFOPS().

◆ SCIPcreateCurrentSol()

SCIP_RETCODE SCIPcreateCurrentSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to the current LP or pseudo solution, depending on whether the LP was solved at the current node

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 749 of file scip_sol.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolCreateCurrentSol(), and TRUE.

Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_SEPAEXECLP(), SCIPbendersSolSlackVarsActive(), SCIPcreateSolCopy(), and SCIPcreateSolCopyOrig().

◆ SCIPcreatePartialSol()

SCIP_RETCODE SCIPcreatePartialSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a partial primal solution, initialized to unknown values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 771 of file scip_sol.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolCreatePartial(), and TRUE.

Referenced by readMst().

◆ SCIPcreateUnknownSol()

SCIP_RETCODE SCIPcreateUnknownSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution, initialized to unknown values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 799 of file scip_sol.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolCreateUnknown(), and TRUE.

◆ SCIPcreateOrigSol()

SCIP_RETCODE SCIPcreateOrigSol ( SCIP scip,
SCIP_SOL **  sol,
SCIP_HEUR heur 
)

creates a primal solution living in the original problem space, initialized to zero; a solution in original space allows to set original variables to values that would be invalid in the transformed problem due to preprocessing fixings or aggregations

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

creates a primal solution living in the original problem space, initialized to zero; a solution in original space allows to set original variables to values that would be invalid in the transformed problem due to preprocessing fixings or aggregations

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
heurheuristic that found the solution (or NULL if it's from the tree)

Definition at line 831 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage, SCIPerrorMessage, SCIPsolCreateOriginal(), and TRUE.

Referenced by applyOptcumulative(), componentSetupWorkingSol(), createSolFromSubScipSol(), executeHeuristic(), fixDiscreteVars(), reuseSolution(), SCIP_DECL_CONCSOLVERSYNCREAD(), SCIP_DECL_HEUREXEC(), SCIPcreateFiniteSolCopy(), setupAndSolveSubscipOneopt(), and solveAndEvalSubscip().

◆ SCIPcreateSolCopy()

SCIP_RETCODE SCIPcreateSolCopy ( SCIP scip,
SCIP_SOL **  sol,
SCIP_SOL sourcesol 
)

creates a copy of a primal solution; note that a copy of a linked solution is also linked and needs to be unlinked if it should stay unaffected from changes in the LP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

creates a copy of a primal solution; note that a copy of a linked solution is also linked and needs to be unlinked if it should stay unaffected from changes in the LP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
sourcesolprimal CIP solution to copy

Definition at line 884 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPcreateCurrentSol(), SCIPsolCopy(), and TRUE.

Referenced by bufferSolution(), constructValidSolution(), enforceCardinality(), fromCommandLine(), proposeFeasibleSolution(), sampleRandomPoints(), SCIP_DECL_CONSCHECK(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPsetBasePointClosecuts(), SCIPupdateStartpointHeurSubNlp(), and setAndUpdateCorePoint().

◆ SCIPcreateSolCopyOrig()

SCIP_RETCODE SCIPcreateSolCopyOrig ( SCIP scip,
SCIP_SOL **  sol,
SCIP_SOL sourcesol 
)

creates a copy of a solution in the original primal solution space

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
sourcesolprimal CIP solution to copy

Definition at line 924 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ORIGINAL, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage, SCIPcreateCurrentSol(), SCIPsolCopy(), SCIPsolSetOrigin(), and TRUE.

Referenced by additionFilterBatch().

◆ SCIPcreateFiniteSolCopy()

SCIP_RETCODE SCIPcreateFiniteSolCopy ( SCIP scip,
SCIP_SOL **  sol,
SCIP_SOL sourcesol,
SCIP_Bool success 
)

creates a copy of a primal solution, thereby replacing infinite fixings of variables by finite values; the copy is always defined in the original variable space; success indicates whether the objective value of the solution was changed by removing infinite values

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to store the solution
sourcesolprimal CIP solution to copy
successdoes the finite solution have the same objective value?

Definition at line 1116 of file scip_sol.c.

References FALSE, NULL, REALABS, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_FIXED, SCIPallocBufferArray, SCIPcheckStage, SCIPcreate(), SCIPcreateOrigSol(), SCIPdebugMsg, SCIPepsilon(), SCIPfree(), SCIPfreeBufferArray, SCIPgetFixedVars(), SCIPgetNFixedVars(), SCIPgetOrigVarsData(), SCIPgetSolOrigObj(), SCIPgetSolVals(), SCIPisEQ(), SCIPisInfinity(), SCIPprintSol(), SCIPsetSolVal(), SCIPvarGetLbGlobal(), SCIPvarGetLbOriginal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbOriginal(), setupAndSolveFiniteSolSubscip(), and TRUE.

Referenced by freeTransform(), and SCIP_DECL_DIALOGEXEC().

◆ SCIPfreeSol()

SCIP_RETCODE SCIPfreeSol ( SCIP scip,
SCIP_SOL **  sol 
)

frees primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solpointer to the solution

Definition at line 1252 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage, SCIPerrorMessage, SCIPsolFree(), and TRUE.

Referenced by additionFilterBatch(), applyBoundHeur(), applyHeur(), applyRepair(), applyVbounds(), checkSystemGF2(), AMPLProblemHandler::cleanup(), clearSoluBuffer(), computeOffValues(), constructValidSolution(), createNewSol(), createOriginalSolution(), createSolFromSubScipSol(), DECL_VARFIXINGS(), enforceCardinality(), freeComponent(), freeMemory(), freeProblem(), fromCommandLine(), generateIntercut(), heurExec(), MirReduction(), performInteriorSolCutStrengthening(), proposeFeasibleSolution(), readMst(), readSol(), resolveNLPWithTighterFeastol(), sampleRandomPoints(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSEXIT(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXIT(), SCIP_DECL_HEUREXITSOL(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLREXIT(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_SEPAEXECLP(), SCIP_DECL_SEPAEXITSOL(), SCIPaddNlRowGradientBenderscutOpt(), SCIPapplyHeurDualval(), SCIPapplyUndercover(), SCIPbendersExit(), SCIPbendersSolSlackVarsActive(), SCIPbendersSolveSubproblemLP(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPheurSyncPassSol(), SCIPsetBasePointClosecuts(), SCIPtranslateSubSols(), SCIPtryStrongbranchLPSol(), SCIPupdateStartpointHeurSubNlp(), selectVarStart(), separateAlternativeProofs(), separateCuts(), setAndUpdateCorePoint(), setSolutionValues(), setupAndSolve(), solveAndEvalSubscip(), solveComponent(), solveNLP(), solveSubproblem(), storeSolution(), and transferSolution().

◆ SCIPlinkLPSol()

SCIP_RETCODE SCIPlinkLPSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 1295 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPlpIsSolved(), SCIPsolLinkLPSol(), and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), getSolFromFacet(), performLPRandRounding(), performLPSimpleRounding(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIPperformGenericDivingAlgorithm(), solveLp(), tryOneOpt(), and trySolCandidate().

◆ SCIPlinkLPSolExact()

SCIP_RETCODE SCIPlinkLPSolExact ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current exact LP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 1324 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPlpExactIsSolved(), SCIPsolLinkLPSolExact(), and TRUE.

◆ SCIPlinkNLPSol()

SCIP_RETCODE SCIPlinkNLPSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current NLP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 1353 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPnlpGetSolstat(), SCIPsolLinkNLPSol(), and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPlinkRelaxSol()

SCIP_RETCODE SCIPlinkRelaxSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current relaxation solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 1388 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPrelaxationIsSolValid(), SCIPsolLinkRelaxSol(), and TRUE.

Referenced by performRelaxSimpleRounding().

◆ SCIPlinkPseudoSol()

SCIP_RETCODE SCIPlinkPseudoSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 1418 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolLinkPseudoSol(), and TRUE.

◆ SCIPlinkCurrentSol()

SCIP_RETCODE SCIPlinkCurrentSol ( SCIP scip,
SCIP_SOL sol 
)

links a primal solution to the current LP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 1441 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolLinkCurrentSol(), and TRUE.

◆ SCIPclearSol()

SCIP_RETCODE SCIPclearSol ( SCIP scip,
SCIP_SOL sol 
)

clears a primal solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 1475 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolClear(), and TRUE.

Referenced by sampleRandomPoints(), and SCIPtranslateSubSols().

◆ SCIPunlinkSol()

SCIP_RETCODE SCIPunlinkSol ( SCIP scip,
SCIP_SOL sol 
)

stores solution values of variables in solution's own array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 1506 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolUnlink(), and TRUE.

Referenced by additionFilterBatch(), bufferSolution(), constructValidSolution(), copyCurrentSolution(), performInteriorSolCutStrengthening(), proposeFeasibleSolution(), SCIP_DECL_HEUREXEC(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPperformGenericDivingAlgorithm(), SCIPretransformSol(), SCIPupdateStartpointHeurSubNlp(), setAndUpdateCorePoint(), and solveLp().

◆ SCIPunlinkSolExact()

SCIP_RETCODE SCIPunlinkSolExact ( SCIP scip,
SCIP_SOL sol 
)

stores exact solution values of variables in solution's own array

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 1537 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolUnlinkExact(), and TRUE.

Referenced by SCIPretransformSolExact().

◆ SCIPsetSolVal()

SCIP_RETCODE SCIPsetSolVal ( SCIP scip,
SCIP_SOL sol,
SCIP_VAR var,
SCIP_Real  val 
)

sets value of variable in primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution
varvariable to add to solution
valsolution value of variable

Definition at line 1571 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPsolIsOriginal(), SCIPsolSetVal(), SCIPvarGetName(), SCIPvarIsTransformed(), and TRUE.

Referenced by addInitialSolution(), applyOptcumulative(), applyRepair(), assignVars(), buildConvexCombination(), checkCands(), checkSystemGF2(), componentSetupWorkingSol(), computeInteriorPoint(), constructSolution(), constructValidSolution(), createCGMIPprimalsols(), createNewSol(), createSolFromNLP(), createSolFromSubScipSol(), DECL_VARFIXINGS(), AMPLProblemHandler::EndInput(), enfopsCons(), estimateConvexSecant(), estimateGradient(), fixDiscreteVars(), generateCloseCutPoint(), getNLPFracVars(), getSolFromFacet(), heurExec(), improvePoint(), initConcsolver(), initializeSol(), initProblem(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), MirReduction(), notifyNlhdlrNewsol(), AMPLProblemHandler::OnInitialValue(), optimize(), performInteriorSolCutStrengthening(), performRandRounding(), performSimpleRounding(), polishPrimalSolution(), readSolFile(), readXmlSolFile(), reoptimize(), reuseSolution(), sampleRandomPoints(), SCIP_DECL_CONCSOLVERSYNCREAD(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRINITSEPA(), SCIP_DECL_VERTEXPOLYFUN(), SCIPaddNlRowGradientBenderscutOpt(), SCIPapplyHeurDualval(), SCIPcomputeLPRelIntPoint(), SCIPcreateFiniteSolCopy(), SCIPmakeIndicatorFeasible(), separateCuts(), setAndUpdateCorePoint(), setSolutionValues(), setupAndSolve(), setupAndSolveSubscipOneopt(), setVarToNearestBound(), solveAndEvalSubscip(), solveComponent(), solveLagromoryLP(), solveLPWithHardCuts(), solveNLP(), startProbing(), updateSlacks(), and updateVariableRounding().

◆ SCIPsetSolValExact()

SCIP_RETCODE SCIPsetSolValExact ( SCIP scip,
SCIP_SOL sol,
SCIP_VAR var,
SCIP_RATIONAL val 
)

sets exact value of variable in primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution
varvariable to add to solution
valsolution value of variable

Definition at line 1616 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPsolIsExact(), SCIPsolIsOriginal(), SCIPsolSetValExact(), SCIPvarGetName(), SCIPvarIsTransformed(), and TRUE.

Referenced by readSolFile(), and readXmlSolFile().

◆ SCIPsetSolVals()

SCIP_RETCODE SCIPsetSolVals ( SCIP scip,
SCIP_SOL sol,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

sets values of multiple variables in primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution
nvarsnumber of variables to set solution value for
varsarray with variables to add to solution
valsarray with solution values of variables

Definition at line 1662 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPsolIsOriginal(), SCIPsolSetVal(), SCIPvarGetName(), SCIPvarIsTransformed(), and TRUE.

Referenced by computeOffValues(), createNewSol(), initConcsolver(), reuseSolution(), SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA(), SCIP_DECL_CONCSOLVERSYNCREAD(), SCIPtranslateSubSol(), and SCIPtranslateSubSols().

◆ SCIPincSolVal()

SCIP_RETCODE SCIPincSolVal ( SCIP scip,
SCIP_SOL sol,
SCIP_VAR var,
SCIP_Real  incval 
)

increases value of variable in primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution
varvariable to increase solution value for
incvalincrement for solution value of variable

Definition at line 1719 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Var::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPsolIncVal(), SCIPsolIsOriginal(), SCIPvarGetName(), SCIPvarIsTransformed(), and TRUE.

Referenced by proposeFeasibleSolution().

◆ SCIPgetSolVal()

SCIP_Real SCIPgetSolVal ( SCIP scip,
SCIP_SOL sol,
SCIP_VAR var 
)

returns value of variable in primal CIP solution, or in current LP/pseudo solution

Returns
value of variable in primal CIP solution, or in current LP/pseudo solution
Precondition
In case the solution pointer sol is NULL, that means it is asked for the LP or pseudo solution, this method can only be called if scip is in the solving stage SCIP_STAGE_SOLVING. In any other case, this method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
varvariable to get value for

Definition at line 1765 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPsolGetVal(), SCIPtreeHasCurrentNodeLP(), SCIPvarGetSol(), and TRUE.

Referenced by addBilinearTermToCut(), addBinaryConstraint(), addBranchingComplementaritiesSOS1(), addColToCut(), addCut(), addFacetToCut(), addInitialSolution(), addLinearTermToCut(), addLocalBranchingConstraint(), addLocalbranchingConstraintAndObjcutoff(), addLowerBound(), addRltTerm(), addUpperBound(), adjustKernelVars(), analyzeViolation(), applyDomainReductions(), applyRepair(), branchBalancedCardinality(), branchingIntegralFirst(), branchOnVar(), branchUnbalancedCardinality(), buildConvexCombination(), buildMod2Matrix(), calcEfficacy(), calcEfficacyDenseStorage(), calcEfficacyDenseStorageQuad(), calculateShift(), checkAndConss(), checkCands(), checkCons(), checkCumulativeCondition(), checkIntegralityExact(), checkOrigPbCons(), checkSetupTolerances(), checkSymresackSolution(), checkSystemGF2(), chooseGuidedVar(), collectBranchingCands(), collectEstLst(), collectSolActivities(), collectSolution(), computeConvexEnvelopeFacet(), computeCut(), computeInitialKnapsackCover(), computeIntegerVariableBounds(), computeIntegerVariableBoundsDins(), computeNogoodCut(), computeStandardIntegerOptCut(), consdataCheckSuperindicator(), consdataComputeSolActivityWithErrorbound(), consdataGetActivity(), consPrintConsSol(), constructSNFRelaxation(), constructValidSolution(), copyValues(), countKernelVariables(), createCGCutCMIR(), createCGCutDirect(), createCGCutStrongCG(), createNAryBranch(), createNewSol(), createProjRow(), createSelectedSortedEventpointsSol(), createSolFromSubScipSol(), createSortedEventpointsSol(), createSubproblem(), createSubscip(), CUTOFF_CONSTRAINT(), cutsTransformMIR(), DECL_CHANGESUBSCIP(), DECL_VARFIXINGS(), determineBestBounds(), determineBestBoundsSafely(), determineBound(), determineBoundForSNF(), determineFixings(), determineVariableFixings(), scipexamples::QueensSolver::disp(), doPricing(), doSeachEcAggr(), enforceCardinality(), enforceConflictgraph(), enforceConssSOS1(), enforceConstraints(), enforceCuts(), enforceExpr(), enforceExprNlhdlr(), enforceIndicators(), enforceSol(), enforceSOS2(), estimateBivariateQuotient(), estimateConvexSecant(), estimateGradient(), estimateGradientInner(), estimateSpecialPower(), estimateUnivariateQuotient(), estimateVertexPolyhedral(), evalExprInAux(), executeHeuristic(), extendToCover(), extractVariablesMINLP(), fillKernels(), findMIRBestLb(), findMIRBestUb(), findSubtour(), fixDiscreteVars(), fixMatchingSolutionValues(), fixVariables(), generateCloseCutPoint(), generateClusterCuts(), generateCut(), generateZerohalfCut(), getBestEstimators(), getBoundConsFromVertices(), getBranchingPrioritiesSOS1(), getBranchingVerticesSOS1(), getClosestVlb(), getClosestVub(), getDiveBdChgsSOS1conflictgraph(), getDiveBdChgsSOS1constraints(), getExprAbsAuxViolation(), getExprAbsOrigViolation(), getFixingValue(), getFixVal(), getNLPFracVars(), getPotential(), getPotentialContributed(), getRelDistance(), getSolutionValues(), getVectorOfWeights(), getViolSplitWeight(), handle1Cycle(), handleCycle(), heurExec(), improvePoint(), intercutsComputeCommonQuantities(), isConsViolated(), isPossibleToComputeCut(), isQuadConsViolated(), isSolFeasible(), isViolatedAndNotFixed(), isViolatedSOS1(), LOPseparate(), main(), makeSOS1conflictgraphFeasible(), makeSOS1constraintsFeasible(), markRowsXj(), maximalslack(), nodeGetSolvalBinaryBigMSOS1(), nodeGetSolvalVarboundLbSOS1(), nodeGetSolvalVarboundUbSOS1(), notifyNlhdlrNewsol(), optimize(), overEstimatePower(), performInteriorSolCutStrengthening(), performRandRounding(), polishPrimalSolution(), prepareSeparation(), proposeFeasibleSolution(), registerBranchingCandidates(), reoptimize(), reuseSolution(), rowprepCleanupImproveCoefrange(), runBenders(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSEXIT(), SCIP_DECL_CONSGETDIVEBDCHGS(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_EXPREVAL(), SCIP_DECL_EXPRFWDIFF(), SCIP_DECL_HEUREXEC(), SCIP_DECL_NLHDLRENFO(), SCIP_DECL_NLHDLRESTIMATE(), SCIP_DECL_NLHDLREVALAUX(), SCIP_DECL_NLHDLRSOLLINEARIZE(), SCIP_DECL_READERWRITE(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPaddTrustregionNeighborhoodConstraint(), SCIPapplyHeurDualval(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPbendersGetAuxiliaryVarVal(), SCIPbendersSetupSubproblem(), SCIPbendersSolSlackVarsActive(), SCIPcheckSolutionOrbisack(), SCIPcutGenerationHeuristicCMIR(), SCIPcycAddIncompleteSol(), SCIPcycPrintSolutionValues(), SCIPevalBilinAuxExprNonlinear(), SCIPevalExprQuadratic(), SCIPevalExprQuadraticAuxNonlinear(), SCIPgenerateAndApplyBendersOptCut(), SCIPgetRowprepViolation(), SCIPisViolatedIndicator(), SCIPmakeIndicatorFeasible(), SCIPperformGenericDivingAlgorithm(), SCIPprintRowprepSol(), SCIPprintSolReaderFzn(), SCIPprintSolutionPbSolver(), SCIPprocessRowprepNonlinear(), SCIPseparateRelaxedKnapsack(), SCIPverifyCircularPatternNLP(), SCIPwriteCliqueGraph(), SCIPwriteSolutionNl(), scoreBranchingCandidates(), selectEssentialRounding(), selectNextDiving(), selectRounding(), selectShifting(), selectVarStart(), sepaImplBoundCutsSOS1(), separateCons(), separateCoversOrbisack(), separateCuts(), separateGLS(), separateHeur(), separateIndicators(), separateMcCormickImplicit(), separateOddCycles(), separatePerspective(), separatePoint(), sepaSubtour(), setAltLPObj(), setSolutionValues(), setupAggregationData(), setupAndSolve(), setupAndSolveCumulativeSubscip(), setupAndSolveFiniteSolSubscip(), setupAndSolveSubscipOneopt(), setVarToNearestBound(), solCreateSolAssignment(), solCutIsViolated(), solveAndEvalSubscip(), solveComponent(), solveCoveringProblem(), solveLp(), solveNLP(), solveSubNLP(), sparsifyIntercut(), startProbing(), storeAggrFromMIP(), TCLIQUE_NEWSOL(), tightenVariables(), transformNonIntegralRow(), translateSubSol(), tryFixVar(), underEstimatePower(), updateBestCandidate(), updateSlacks(), updateVarVals(), updateWeightsTCliquegraph(), visualizeSolutionAscii(), visualizeSolutionGnuplot(), and visualizeSolutionMatplotlib().

◆ SCIPgetSolValExact()

void SCIPgetSolValExact ( SCIP scip,
SCIP_SOL sol,
SCIP_VAR var,
SCIP_RATIONAL res 
)

gets value of variable in primal CIP solution, or in current LP/pseudo solution

Precondition
In case the solution pointer sol is NULL, that means it is asked for the LP or pseudo solution, this method can only be called if scip is in the solving stage SCIP_STAGE_SOLVING. In any other case, this method can be called if scip is in one of the following stages:

gets value of variable in exact primal CIP solution, or in current LP/pseudo solution

Precondition
In case the solution pointer sol is NULL, that means it is asked for the LP or pseudo solution, this method can only be called if scip is in the solving stage SCIP_STAGE_SOLVING. In any other case, this method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
varvariable to get value for
resresulting rational

Definition at line 1803 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPsolGetValExact(), SCIPtreeHasCurrentNodeLP(), SCIPvarGetSolExact(), and TRUE.

Referenced by checkIntegralityExact(), consdataGetActivity(), and consPrintConsSol().

◆ SCIPgetSolVals()

SCIP_RETCODE SCIPgetSolVals ( SCIP scip,
SCIP_SOL sol,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

gets values of multiple variables in primal CIP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
nvarsnumber of variables to get solution value for
varsarray with variables to get value for
valsarray to store solution values of variables

Definition at line 1846 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPgetVarSols(), SCIPsolGetVal(), and TRUE.

Referenced by alnsFixMoreVariables(), createNewSol(), initConcsolver(), LNSFixMoreVariables(), reoptimize(), reuseSolution(), SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA(), SCIP_DECL_CONCSOLVERSYNCWRITE(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFORELAX(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECSOL(), SCIPcreateFiniteSolCopy(), SCIPseparateKnapsackCuts(), SCIPsetNLPInitialGuessSol(), SCIPsetRelaxSolValsSol(), and separateCuts().

◆ SCIPgetSolOrigObj()

SCIP_Real SCIPgetSolOrigObj ( SCIP scip,
SCIP_SOL sol 
)

returns objective value of primal CIP solution w.r.t. original problem, or current LP/pseudo objective value

Returns
objective value of primal CIP solution w.r.t. original problem, or current LP/pseudo objective value
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo objective value

Definition at line 1892 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPlpGetObjval(), SCIPlpGetPseudoObjval(), SCIPprobExternObjval(), SCIPsolGetObj(), SCIPsolGetOrigObj(), SCIPsolIsOriginal(), SCIPtreeHasCurrentNodeLP(), and TRUE.

Referenced by applyBoundHeur(), applyOptcumulative(), applyRepair(), applyVbounds(), computeStandardIntegerOptCut(), createNewSol(), createSwitchSolution(), displayRelevantStats(), doPricing(), extractVariablesMINLP(), generateAndApplyBendersIntegerCuts(), presolve(), presolveRound(), reoptimize(), reuseSolution(), runBenders(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_CONCSOLVERSYNCWRITE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyHeurDualval(), SCIPbendersComputeSubproblemLowerbound(), SCIPbendersExec(), SCIPbendersExecSubproblemSolve(), SCIPbendersSolveSubproblem(), SCIPbendersSolveSubproblemLP(), SCIPcreateFiniteSolCopy(), SCIPheurPassSolAddSol(), SCIPheurPassSolTrySol(), SCIPmakeSOS1sFeasible(), SCIPperformGenericDivingAlgorithm(), SCIPtranslateSubSols(), SCIPvisualFoundSolution(), setupAndSolveSubscipRapidlearning(), solveAndEvalSubscip(), solveComponent(), solveCoveringProblem(), visualizeSolutionAscii(), visualizeSolutionGnuplot(), and visualizeSolutionMatplotlib().

◆ SCIPgetSolOrigObjExact()

void SCIPgetSolOrigObjExact ( SCIP scip,
SCIP_SOL sol,
SCIP_RATIONAL res 
)

gets exact objective value of primal CIP solution w.r.t. original problem, or current LP/pseudo objective value

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo objective value
resresult pointer to store rational

Definition at line 1940 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL_ABORT, SCIPbuffer(), SCIPcheckStage, SCIPlpExactGetObjval(), SCIPlpExactGetPseudoObjval(), SCIPprobExternObjvalExact(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalSetRational(), SCIPsolGetObjExact(), SCIPsolGetOrigObjExact(), SCIPsolIsExact(), SCIPsolIsOriginal(), SCIPtreeHasCurrentNodeLP(), and TRUE.

◆ SCIPgetSolTransObj()

SCIP_Real SCIPgetSolTransObj ( SCIP scip,
SCIP_SOL sol 
)

returns transformed objective value of primal CIP solution, or transformed current LP/pseudo objective value

Returns
transformed objective value of primal CIP solution, or transformed current LP/pseudo objective value
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo objective value

Definition at line 2005 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPlpGetObjval(), SCIPlpGetPseudoObjval(), SCIPsolGetObj(), SCIPtreeHasCurrentNodeLP(), and TRUE.

Referenced by addTrustRegionConstraints(), applyHeur(), isDisplaySol(), proposeFeasibleSolution(), sampleRandomPoints(), SCIP_DECL_CONSCHECK(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECSOL(), SCIPapplyProximity(), SCIPheurSyncPassSol(), SCIPtranslateSubSols(), SCIPupdateStartpointHeurSubNlp(), SCIPvisualFoundSolution(), separateCuts(), solveComponent(), transferSolution(), tryOneOpt(), trySolCandidate(), and updateSubproblemLowerbound().

◆ SCIPgetSolTransObjExact()

void SCIPgetSolTransObjExact ( SCIP scip,
SCIP_SOL sol,
SCIP_RATIONAL res 
)

gets transformed objective value of primal CIP solution, or transformed current LP/pseudo objective value

Precondition
This method can be called if SCIP is in one of the following stages:

gets exact transformed objective value of primal CIP solution, or transformed current exact LP/pseudo objective value

Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo objective value
resresult pointer to store rational

Definition at line 2042 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPlpExactGetObjval(), SCIPlpExactGetPseudoObjval(), SCIPsolGetObjExact(), SCIPtreeHasCurrentNodeLP(), and TRUE.

◆ SCIPrecomputeSolObj()

SCIP_RETCODE SCIPrecomputeSolObj ( SCIP scip,
SCIP_SOL sol 
)

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)

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

Definition at line 2076 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolRecomputeObj(), and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPtransformObj()

SCIP_Real SCIPtransformObj ( SCIP scip,
SCIP_Real  obj 
)

maps original space objective value into transformed objective value

Returns
transformed objective value
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
objoriginal space objective value to transform

Definition at line 2107 of file scip_sol.c.

References FALSE, SCIP_CALL_ABORT, SCIPcheckStage, SCIPprobInternObjval(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPsetObjlimit().

◆ SCIPretransformObj()

◆ SCIPgetSolTime()

SCIP_Real SCIPgetSolTime ( SCIP scip,
SCIP_SOL sol 
)

gets clock time, when this solution was found

Returns
clock time, when this solution was found
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 2159 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPsolGetTime(), and TRUE.

◆ SCIPgetSolRunnum()

int SCIPgetSolRunnum ( SCIP scip,
SCIP_SOL sol 
)

gets branch and bound run number, where this solution was found

Returns
branch and bound run number, where this solution was found
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 2189 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPsolGetRunnum(), and TRUE.

◆ SCIPgetSolNodenum()

SCIP_Longint SCIPgetSolNodenum ( SCIP scip,
SCIP_SOL sol 
)

gets node number of the specific branch and bound run, where this solution was found

Returns
node number of the specific branch and bound run, where this solution was found
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 2219 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPsolGetNodenum(), and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPgetSolHeur()

SCIP_HEUR * SCIPgetSolHeur ( SCIP scip,
SCIP_SOL sol 
)

gets heuristic, that found this solution (or NULL if it's from the tree)

Returns
heuristic, that found this solution (or NULL if it's from the tree)
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution

Definition at line 2249 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPsolGetHeur(), and TRUE.

Referenced by determineVariableFixings(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_EVENTEXEC(), and SCIPupdateStartpointHeurSubNlp().

◆ SCIPareSolsEqual()

SCIP_Bool SCIPareSolsEqual ( SCIP scip,
SCIP_SOL sol1,
SCIP_SOL sol2 
)

returns whether two given solutions are exactly equal

Returns
returns whether two given solutions are exactly equal
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
sol1first primal CIP solution
sol2second primal CIP solution

Definition at line 2280 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPsolsAreEqual(), and TRUE.

◆ SCIPadjustImplicitSolVals()

SCIP_RETCODE SCIPadjustImplicitSolVals ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool  uselprows 
)

adjusts solution values of implied integral variables in handed solution, solution objective value is not deteriorated by this method

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution
uselprowsshould LP row information be considered for none-objective variables

Definition at line 2305 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolAdjustImplicitSolVals(), and TRUE.

Referenced by performSimpleRounding().

◆ SCIPprintSol()

SCIP_RETCODE SCIPprintSol ( SCIP scip,
SCIP_SOL sol,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs non-zero variables of solution in original problem space to the given file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
In case the solution pointer sol is NULL (askinking for the current LP/pseudo solution), this method can be called if scip is in one of the following stages:
In case the solution pointer sol is not NULL, this method can be called if scip is in one of the following stages:

outputs non-zero variables of solution in original problem space to the given file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
In case the solution pointer sol is NULL (asking for the current LP/pseudo solution), this method can be called if scip is in one of the following stages:
In case the solution pointer sol is not NULL, this method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 2349 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcheckStage, SCIPisExact(), SCIPisTransformed(), SCIPmessageFPrintInfo(), SCIPmessagehdlrIsQuiet(), SCIPmessagehdlrSetQuiet(), SCIPprintReal(), SCIPprintSolExact(), SCIPprobExternObjval(), SCIPsolCreateCurrentSol(), SCIPsolFree(), SCIPsolGetObj(), SCIPsolGetOrigObj(), SCIPsolIsExact(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPsolPrint(), and TRUE.

Referenced by checkSystemGF2(), createCGCutDirect(), doPricing(), enforceConstraint(), enforceSol(), fromCommandLine(), performRandRounding(), performSimpleRounding(), resolveNLPWithTighterFeastol(), runBrachistochrone(), runPacking(), runSpring(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSSEPALP(), SCIP_DECL_CONSSEPASOL(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPbendersExec(), SCIPbendersSolveSubproblemLP(), SCIPcreateFiniteSolCopy(), SCIPprintBestSol(), SCIPwriteSolutionNl(), searchEcAggrWithMIP(), separateCuts(), solveCoveringProblem(), and trySolCandidate().

◆ SCIPprintSolExact()

SCIP_RETCODE SCIPprintSolExact ( SCIP scip,
SCIP_SOL sol,
FILE *  file,
SCIP_Bool  printzeros 
)

print a rational solution

print an exact solution

Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 2424 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPbuffer(), SCIPcheckStage, SCIPfreeBufferArray, SCIPisTransformed(), SCIPmessageFPrintInfo(), SCIPmessagehdlrIsQuiet(), SCIPmessagehdlrSetQuiet(), SCIPprobExternObjvalExact(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalSetRational(), SCIPrationalStrLen(), SCIPrationalToString(), SCIPsolCreateCurrentSolExact(), SCIPsolFree(), SCIPsolGetObjExact(), SCIPsolGetOrigObjExact(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPsolPrintExact(), and TRUE.

Referenced by fromCommandLine(), and SCIPprintSol().

◆ SCIPprintTransSol()

SCIP_RETCODE SCIPprintTransSol ( SCIP scip,
SCIP_SOL sol,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs non-zero variables of solution in transformed problem space to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution, or NULL for current LP/pseudo solution
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 2521 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Bool, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIPprintReal(), SCIPsolCreateCurrentSol(), SCIPsolFree(), SCIPsolGetObj(), SCIPsolIsOriginal(), SCIPsolPrint(), and TRUE.

Referenced by SCIP_DECL_NLHDLRENFO(), and SCIPprintBestTransSol().

◆ SCIPprintMIPStart()

SCIP_RETCODE SCIPprintMIPStart ( SCIP scip,
SCIP_SOL sol,
FILE *  file 
)

outputs discrete variables of solution in original problem space to the given file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution
fileoutput file (or NULL for standard output)

Definition at line 2580 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcheckStage, SCIPmessageFPrintInfo(), SCIPmessagehdlrIsQuiet(), SCIPmessagehdlrSetQuiet(), SCIPprintReal(), SCIPprobExternObjval(), SCIPsolGetObj(), SCIPsolGetOrigObj(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPsolPrint(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPgetDualSolVal()

SCIP_RETCODE SCIPgetDualSolVal ( SCIP scip,
SCIP_CONS cons,
SCIP_Real dualsolval,
SCIP_Bool boundconstraint 
)

returns dual solution value of a constraint

Parameters
scipSCIP data structure
consconstraint for which the dual solution should be returned
dualsolvalpointer to store the dual solution value
boundconstraintpointer to store whether the constraint is a bound constraint (or NULL)

Definition at line 2623 of file scip_sol.c.

References NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OBJSENSE_MAXIMIZE, SCIP_OKAY, SCIP_Real, SCIPconsGetHdlr(), SCIPconsGetNVars(), SCIPconsGetTransformed(), SCIPconshdlrGetName(), SCIPconsIsTransformed(), SCIPgetDualsolLinear(), SCIPgetLhsLinear(), SCIPgetObjsense(), SCIPgetRhsLinear(), SCIPgetValsLinear(), SCIPgetVarRedcost(), SCIPgetVarsLinear(), SCIPsetIsEQ(), and SCIPvarGetLPSol().

Referenced by printDualSol().

◆ SCIPisDualSolAvailable()

SCIP_Bool SCIPisDualSolAvailable ( SCIP scip,
SCIP_Bool  printreason 
)

check whether the dual solution is available

Note
This is used when calling SCIPprintDualSol()
Returns
is dual solution available?
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
printreasonprint warning message if dualsol is not available?

Definition at line 2749 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL_ABORT, SCIP_STAGE_SOLVED, SCIPcheckStage, SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPgetStage(), SCIPmessageFPrintInfo(), SCIPwarningMessage(), and TRUE.

Referenced by SCIPprintDualSol().

◆ SCIPprintDualSol()

SCIP_RETCODE SCIPprintDualSol ( SCIP scip,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs dual solution from LP solver to file stream

Note
This only works if no presolving has been performed, which can be checked by calling method SCIPhasPerformedPresolve().
Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

outputs dual solution from LP solver to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called in all stages but only prints dual information when called in SCIP_STAGE_SOLVED
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 2812 of file scip_sol.c.

References printDualSol(), SCIP_CALL, SCIP_OKAY, SCIPisDualSolAvailable(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIPprintRay()

SCIP_RETCODE SCIPprintRay ( SCIP scip,
SCIP_SOL sol,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs non-zero variables of solution representing a ray in original problem space to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution representing ray
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 2845 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPsolPrintRay(), and TRUE.

Referenced by setupAndSolve(), and updatePrimalRay().

◆ SCIPgetNSols()

int SCIPgetNSols ( SCIP scip)

gets number of feasible primal solutions stored in the solution storage in case the problem is transformed; in case the problem stage is SCIP_STAGE_PROBLEM, the number of solution in the original solution candidate storage is returned

Returns
number of feasible primal solutions stored in the solution storage in case the problem is transformed; or number of solution in the original solution candidate storage if the problem stage is SCIP_STAGE_PROBLEM
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 2882 of file scip_sol.c.

References FALSE, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPABORT, SCIPcheckStage, SCIPerrorMessage, and TRUE.

Referenced by applyHeur(), applyRepair(), checkEstimateCriterion(), checkLogCriterion(), checkRankOneTransition(), createCGCuts(), createNLP(), createSubproblem(), DECL_VARFIXINGS(), determineSolvingPhase(), determineVariableFixings(), doPricing(), doSolveSubMIP(), executeDivingHeuristic(), extractVariablesMINLP(), initConcsolver(), initializeCandsLists(), presolve(), presolveRound(), reoptimize(), reuseSolution(), runBrachistochrone(), runPacking(), runSpring(), SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA(), SCIP_DECL_CONCSOLVERSYNCWRITE(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DIVESETAVAILABLE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPapplyHeurSubNlp(), SCIPapplyProximity(), SCIPapplyRedSize(), SCIPtranslateSubSols(), SCIPvalidateSolve(), SCIPvalidateSolveExact(), SCIPverifyCircularPatternNLP(), searchEcAggrWithMIP(), selectSolsRandomized(), setupAndSolve(), setupAndSolveSubscip(), setupAndSolveSubscipCrossover(), setupAndSolveSubscipRapidlearning(), solveAndEvalSubscip(), solveCoveringProblem(), solveSubNLP(), solveSubproblem(), solveSubscipLpface(), storeAggrFromMIP(), transformSols(), and wrapperDins().

◆ SCIPgetSols()

SCIP_SOL ** SCIPgetSols ( SCIP scip)

gets array of feasible primal solutions stored in the solution storage in case the problem is transformed; in case if the problem stage is in SCIP_STAGE_PROBLEM, it returns the number array of solution candidate stored

Returns
array of feasible primal solutions
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 2931 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage, SCIPerrorMessage, and TRUE.

Referenced by createCGCuts(), DECL_VARFIXINGS(), determineVariableFixings(), doPricing(), doSolveSubMIP(), fixVariables(), reuseSolution(), SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA(), SCIP_DECL_CONCSOLVERSYNCWRITE(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_HEUREXEC(), SCIPapplyRedSize(), SCIPtranslateSubSols(), selectSolsRandomized(), setupAndSolve(), setupAndSolveSubscip(), setupAndSolveSubscipCrossover(), setupAndSolveSubscipRapidlearning(), solveSubNLP(), solveSubproblem(), and transformSols().

◆ SCIPgetBestSol()

SCIP_SOL * SCIPgetBestSol ( SCIP scip)

gets best feasible primal solution found so far if the problem is transformed; in case the problem is in SCIP_STAGE_PROBLEM it returns the best solution candidate, or NULL if no solution has been found or the candidate store is empty;

Returns
best feasible primal solution so far
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 2981 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL_ABORT, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INIT, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage, SCIPerrorMessage, and TRUE.

Referenced by addInitialSolution(), additionFilterBatch(), addLocalBranchingConstraint(), addLocalbranchingConstraintAndObjcutoff(), addTrustRegionConstraints(), adjustKernelVars(), applyHeur(), applyRepair(), calculateShift(), computeIntegerVariableBounds(), computeIntegerVariableBoundsDins(), computeStandardIntegerOptCut(), createSubscip(), createSwitchSolution(), DECL_CHANGESUBSCIP(), DECL_NHREFSOL(), DECL_VARFIXINGS(), decompHorizonBlockUsedRecently(), decompHorizonGetFirstPosBestPotential(), decompHorizonNext(), determineFixings(), determineVariableFixings(), determineVariableFixingsDecomp(), scipexamples::QueensSolver::disp(), displayRelevantStats(), execRelpscost(), executeDivingHeuristic(), extractVariablesMINLP(), fixAndPropagate(), fromCommandLine(), getFixingValue(), initConcsolver(), main(), masterSolutionExists(), maximalslack(), performInteriorSolCutStrengthening(), presolve(), presolveRound(), reoptimize(), runBenders(), runBrachistochrone(), runPacking(), runSpring(), SCIP_DECL_CONSEXIT(), SCIP_DECL_DIALOGEXEC(), SCIP_DECL_DISPINITSOL(), SCIP_DECL_DISPOUTPUT(), SCIP_DECL_DIVESETAVAILABLE(), SCIP_DECL_DIVESETGETSCORE(), SCIP_DECL_EVENTEXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_READERWRITE(), SCIP_DECL_RELAXEXEC(), SCIP_DECL_SEPAEXECLP(), SCIPaddCurrentSol(), SCIPaddSol(), SCIPaddSolFree(), SCIPaddTrustregionNeighborhoodConstraint(), SCIPapplyHeurDualval(), SCIPapplyProximity(), SCIPbendersExecSubproblemSolve(), SCIPbendersSolSlackVarsActive(), SCIPbendersSolveSubproblem(), SCIPcertificatePrintResult(), SCIPprintBestSol(), SCIPprintBestTransSol(), SCIPprintSolutionPbSolver(), SCIPtransformProb(), SCIPtryCurrentSol(), SCIPtrySol(), SCIPtrySolFree(), SCIPtrySolFreeExact(), SCIPvalidateSolve(), SCIPvalidateSolveExact(), SCIPverifyCircularPatternNLP(), SCIPwriteSolutionNl(), scoring(), searchEcAggrWithMIP(), selectInitialVariableDecomposition(), selectInitialVariableRandomly(), setAndUpdateCorePoint(), setSolutionValues(), setupAndSolve(), setupAndSolveCumulativeSubscip(), setupAndSolveFiniteSolSubscip(), setupAndSolveSubscipCrossover(), solveAndEvalSubscip(), solveBendersSubproblems(), solveComponent(), solveCoveringProblem(), solveSubscipLpface(), storeAggrFromMIP(), and transferSolution().

◆ SCIPprintBestSol()

SCIP_RETCODE SCIPprintBestSol ( SCIP scip,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs best feasible primal solution found so far to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

outputs best feasible primal solution found so far to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 3047 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPgetBestSol(), SCIPmessageFPrintInfo(), SCIPprintSol(), and TRUE.

Referenced by execmain(), fromCommandLine(), SCIP_DECL_DIALOGEXEC(), SCIPprintSolutionPbSolver(), and solveSubscip().

◆ SCIPprintBestTransSol()

SCIP_RETCODE SCIPprintBestTransSol ( SCIP scip,
FILE *  file,
SCIP_Bool  printzeros 
)

outputs best feasible primal solution found so far in transformed variables to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
fileoutput file (or NULL for standard output)
printzerosshould variables set to zero be printed?

Definition at line 3087 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPgetBestSol(), SCIPmessageFPrintInfo(), SCIPprintTransSol(), SCIPsolIsOriginal(), and TRUE.

Referenced by SCIP_DECL_DIALOGEXEC().

◆ SCIProundSol()

SCIP_RETCODE SCIProundSol ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool success 
)

try to round given solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal solution
successpointer to store whether rounding was successful

Definition at line 3123 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPsolIsOriginal(), SCIPsolRound(), and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), SCIP_DECL_HEUREXEC(), SCIPperformGenericDivingAlgorithm(), SCIPtryStrongbranchLPSol(), and solveNLP().

◆ SCIPmakeSolExact()

SCIP_RETCODE SCIPmakeSolExact ( SCIP scip,
SCIP_SOL sol 
)

copy the fp values to the exact arrays of the solution

Parameters
scipSCIP data structure
solprimal solution

Definition at line 3146 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_OKAY, SCIP_SOLORIGIN_ORIGINAL, SCIPcheckStage, SCIPsolGetOrigin(), SCIPsolIsExact(), SCIPsolMakeExact(), and TRUE.

Referenced by certificatePrintSol(), and SCIPcertificatePrintResult().

◆ SCIPretransformSol()

SCIP_RETCODE SCIPretransformSol ( SCIP scip,
SCIP_SOL sol 
)

retransforms solution to original problem space

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

retransforms solution to original problem space

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution

Definition at line 3182 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_SOLORIGIN_LPSOL, SCIP_SOLORIGIN_NLPSOL, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PARTIAL, SCIP_SOLORIGIN_PSEUDOSOL, SCIP_SOLORIGIN_RELAXSOL, SCIP_SOLORIGIN_UNKNOWN, SCIP_SOLORIGIN_ZERO, SCIPcheckStage, SCIPerrorMessage, SCIPsolGetOrigin(), SCIPsolRetransform(), SCIPunlinkSol(), and TRUE.

Referenced by fromCommandLine().

◆ SCIPretransformSolExact()

SCIP_RETCODE SCIPretransformSolExact ( SCIP scip,
SCIP_SOL sol 
)

retransforms exact solution to original problem space

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:

retransforms exact solution to original problem space

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution

Definition at line 3245 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_SOLORIGIN_LPSOL, SCIP_SOLORIGIN_NLPSOL, SCIP_SOLORIGIN_ORIGINAL, SCIP_SOLORIGIN_PARTIAL, SCIP_SOLORIGIN_PSEUDOSOL, SCIP_SOLORIGIN_RELAXSOL, SCIP_SOLORIGIN_UNKNOWN, SCIP_SOLORIGIN_ZERO, SCIPcheckStage, SCIPerrorMessage, SCIPsolGetOrigin(), SCIPsolRetransformExact(), SCIPunlinkSolExact(), and TRUE.

Referenced by SCIPcertificatePrintResult().

◆ SCIPreadSol()

SCIP_RETCODE SCIPreadSol ( SCIP scip,
const char *  filename 
)

reads a given solution file

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
filenamename of the input file

Definition at line 3306 of file scip_sol.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPreadProb(), and TRUE.

◆ SCIPreadSolFile()

SCIP_RETCODE SCIPreadSolFile ( SCIP scip,
const char *  filename,
SCIP_SOL sol,
SCIP_Bool  xml,
SCIP_Bool partial,
SCIP_Bool error 
)

reads a given solution file and store the solution values in the given solution pointer

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
filenamename of the input file
solsolution pointer
xmltrue, iff the given solution in written in XML
partialpointer to store if the solution is partial
errorpointer store if an error occured

Definition at line 3802 of file scip_sol.c.

References FALSE, readSolFile(), readXmlSolFile(), SCIP_CALL, SCIP_OKAY, SCIPcheckStage, and TRUE.

Referenced by readMst(), readSol(), and SCIP_DECL_HEUREXEC().

◆ SCIPaddSol()

SCIP_RETCODE SCIPaddSol ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool stored 
)

adds feasible primal solution to solution storage by copying it

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
Do not call during propagation, use heur_trysol instead.
Parameters
scipSCIP data structure
solprimal CIP solution
storedstores whether given solution was good enough to keep

Definition at line 3842 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage, SCIPerrorMessage, SCIPgetBestSol(), SCIPprimalAddOrigSol(), SCIPprimalAddSol(), SCIPsolIsOriginal(), SCIPstoreSolutionGap(), and TRUE.

Referenced by createOriginalSolution(), and solveComponent().

◆ SCIPaddSolFree()

SCIP_RETCODE SCIPaddSolFree ( SCIP scip,
SCIP_SOL **  sol,
SCIP_Bool stored 
)

adds primal solution to solution storage, frees the solution afterwards

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
Do not call during propagation, use heur_trysol instead.
Parameters
scipSCIP data structure
solpointer to primal CIP solution; is cleared in function call
storedstores whether given solution was good enough to keep

Definition at line 3909 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIP_STAGE_EXITSOLVE, SCIP_STAGE_FREETRANS, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_INITSOLVE, SCIP_STAGE_PRESOLVED, SCIP_STAGE_PRESOLVING, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STAGE_SOLVING, SCIP_STAGE_TRANSFORMED, SCIP_STAGE_TRANSFORMING, SCIPcheckStage, SCIPerrorMessage, SCIPgetBestSol(), SCIPprimalAddOrigSolFree(), SCIPprimalAddSolFree(), SCIPsolIsOriginal(), SCIPstoreSolutionGap(), and TRUE.

Referenced by applyRepair(), AMPLProblemHandler::EndInput(), initConcsolver(), readMst(), readSol(), reuseSolution(), SCIP_DECL_CONCSOLVERCOPYSOLVINGDATA(), SCIP_DECL_HEUREXEC(), and SCIPtranslateSubSols().

◆ SCIPaddCurrentSol()

SCIP_RETCODE SCIPaddCurrentSol ( SCIP scip,
SCIP_HEUR heur,
SCIP_Bool stored 
)

adds current LP/pseudo solution to solution storage

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
heurheuristic that found the solution
storedstores whether given solution was good enough to keep

Definition at line 3972 of file scip_sol.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPgetBestSol(), SCIPprimalAddCurrentSol(), SCIPstoreSolutionGap(), and TRUE.

◆ SCIPtrySol()

SCIP_RETCODE SCIPtrySol ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool  printreason,
SCIP_Bool  completely,
SCIP_Bool  checkbounds,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool stored 
)

checks solution for feasibility; if possible, adds it to storage by copying

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
Do not call during propagation, use heur_trysol instead.
Parameters
scipSCIP data structure
solprimal CIP solution
printreasonShould all reasons of violation be printed?
completelyShould all violations be checked if printreason is true?
checkboundsShould the bounds of the variables be checked?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
storedstores whether given solution was feasible and good enough to keep

Definition at line 4012 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPcheckStage, SCIPerrorMessage, SCIPgetBestSol(), SCIPprimalAddSol(), SCIPprimalTrySol(), SCIPsolCheckOrig(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPstoreSolutionGap(), and TRUE.

Referenced by applyBoundHeur(), applyVbounds(), createNewSol(), enforceCardinality(), performRandRounding(), performSimpleRounding(), SCIP_DECL_HEUREXEC(), SCIPperformGenericDivingAlgorithm(), solveLp(), and solveSubproblem().

◆ SCIPtrySolFree()

SCIP_RETCODE SCIPtrySolFree ( SCIP scip,
SCIP_SOL **  sol,
SCIP_Bool  printreason,
SCIP_Bool  completely,
SCIP_Bool  checkbounds,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool stored 
)

checks primal solution; if feasible, adds it to storage; solution is freed afterwards

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
Do not call during propagation, use heur_trysol instead.
Parameters
scipSCIP data structure
solpointer to primal CIP solution; is cleared in function call
printreasonShould all reasons of violations be printed
completelyShould all violations be checked if printreason is true?
checkboundsShould the bounds of the variables be checked?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
storedstores whether solution was feasible and good enough to keep

Definition at line 4109 of file scip_sol.c.

References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPcheckStage, SCIPerrorMessage, SCIPgetBestSol(), SCIPprimalAddSolFree(), SCIPprimalTrySolFree(), SCIPsolCheckOrig(), SCIPsolFree(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPstoreSolutionGap(), and TRUE.

Referenced by addInitialSolution(), applyOptcumulative(), createCGMIPprimalsols(), createNewSol(), createSwitchSolution(), executeHeuristic(), heurExec(), presolve(), processNLPSol(), readSol(), reoptimize(), SCIP_DECL_BRANCHEXECLP(), SCIP_DECL_HEUREXEC(), SCIPcycAddIncompleteSol(), SCIPtryStrongbranchLPSol(), setupAndSolve(), setupAndSolveSubscip(), setupAndSolveSubscipOneopt(), setupAndSolveSubscipRapidlearning(), solveSubNLP(), storeSolution(), transferSolution(), tryOneOpt(), and trySolCandidate().

◆ SCIPtryCurrentSol()

SCIP_RETCODE SCIPtryCurrentSol ( SCIP scip,
SCIP_HEUR heur,
SCIP_Bool  printreason,
SCIP_Bool  completely,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool stored 
)

checks current LP/pseudo solution for feasibility; if possible, adds it to storage

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
heurheuristic that found the solution
printreasonShould all reasons of violations be printed?
completelyShould all violations be checked if printreason is true?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
storedstores whether given solution was feasible and good enough to keep

Definition at line 4207 of file scip_sol.c.

References FALSE, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPABORT, SCIPcheckStage, SCIPerrorMessage, SCIPgetBestSol(), SCIPprimalTryCurrentSol(), SCIPsolCheckOrig(), SCIPstoreSolutionGap(), and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPgetPartialSols()

SCIP_SOL ** SCIPgetPartialSols ( SCIP scip)

returns all partial solutions

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 4263 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPgetNPartialSols()

int SCIPgetNPartialSols ( SCIP scip)

returns number of partial solutions

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 4285 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage, and TRUE.

Referenced by SCIP_DECL_HEUREXEC().

◆ SCIPcheckSol()

SCIP_RETCODE SCIPcheckSol ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool  printreason,
SCIP_Bool  completely,
SCIP_Bool  checkbounds,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool feasible 
)

checks solution for feasibility without adding it to the solution store

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution
printreasonShould all reasons of violations be printed?
completelyShould all violations be checked if printreason is true?
checkboundsShould the bounds of the variables be checked?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
feasiblestores whether given solution is feasible

Definition at line 4312 of file scip_sol.c.

References checkSolOrigExact(), FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPisExact(), SCIPsolCheck(), SCIPsolCheckOrig(), SCIPsolIsOriginal(), SCIPsolIsPartial(), and TRUE.

Referenced by applyVbounds(), checkSystemGF2(), constructValidSolution(), createOriginalSolution(), processNLPSol(), SCIP_DECL_HEUREXEC(), SCIPtranslateSubSols(), solveAndEvalSubscip(), solveComponent(), solveSubNLP(), and transferSolution().

◆ SCIPcheckSolOrig()

SCIP_RETCODE SCIPcheckSolOrig ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool feasible,
SCIP_Bool  printreason,
SCIP_Bool  completely 
)

checks solution for feasibility in original problem without adding it to the solution store; this method is used to double check a solution in order to validate the presolving process

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
solprimal CIP solution
feasiblestores whether given solution is feasible
printreasonshould the reason for the violation be printed?
completelyShould all violations be checked if printreason is true?

Definition at line 4380 of file scip_sol.c.

References checkSolOrigExact(), FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPisExact(), SCIPsolCheckOrig(), SCIPsolIsPartial(), and TRUE.

Referenced by checkSolutionOrig(), displayRelevantStats(), doPricing(), SCIP_DECL_DIALOGEXEC(), SCIPprintSolutionPbSolver(), SCIPsolveCIP(), SCIPvalidateSolve(), SCIPvalidateSolveExact(), solveAndEvalSubscip(), and solveComponent().

◆ SCIPupdateSolIntegralityViolation()

void SCIPupdateSolIntegralityViolation ( SCIP scip,
SCIP_SOL sol,
SCIP_Real  absviol 
)

update integrality violation of a solution

Parameters
scipSCIP data structure
solprimal CIP solution
absviolabsolute violation

Definition at line 406 of file scip_sol.c.

References NULL, SCIP_Sol::scip, SCIPprimalUpdateViolations(), and SCIPsolUpdateIntegralityViolation().

Referenced by SCIP_DECL_CONSCHECK().

◆ SCIPupdateSolBoundViolation()

void SCIPupdateSolBoundViolation ( SCIP scip,
SCIP_SOL sol,
SCIP_Real  absviol,
SCIP_Real  relviol 
)

update bound violation of a solution

Parameters
scipSCIP data structure
solprimal CIP solution
absviolabsolute violation
relviolrelative violation

Definition at line 421 of file scip_sol.c.

References NULL, SCIP_Sol::scip, SCIPprimalUpdateViolations(), and SCIPsolUpdateBoundViolation().

Referenced by checkSolOrig().

◆ SCIPupdateSolLPRowViolation()

void SCIPupdateSolLPRowViolation ( SCIP scip,
SCIP_SOL sol,
SCIP_Real  absviol,
SCIP_Real  relviol 
)

update LP row violation of a solution

Parameters
scipSCIP data structure
solprimal CIP solution
absviolabsolute violation
relviolrelative violation

Definition at line 437 of file scip_sol.c.

References NULL, SCIP_Sol::scip, SCIPprimalUpdateViolations(), and SCIPsolUpdateLPRowViolation().

◆ SCIPupdateSolConsViolation()

void SCIPupdateSolConsViolation ( SCIP scip,
SCIP_SOL sol,
SCIP_Real  absviol,
SCIP_Real  relviol 
)

update constraint violation of a solution

Parameters
scipSCIP data structure
solprimal CIP solution
absviolabsolute violation
relviolrelative violation

Definition at line 453 of file scip_sol.c.

References NULL, SCIP_Sol::scip, SCIPprimalUpdateViolations(), and SCIPsolUpdateConsViolation().

Referenced by checkAllConss(), checkCons(), checkCumulativeCondition(), checkOrigPbCons(), isConsViolated(), and SCIP_DECL_CONSCHECK().

◆ SCIPupdateSolLPConsViolation()

void SCIPupdateSolLPConsViolation ( SCIP scip,
SCIP_SOL sol,
SCIP_Real  absviol,
SCIP_Real  relviol 
)

update LP row and constraint violations of a solution

Parameters
scipSCIP data structure
solprimal CIP solution
absviolabsolute violation
relviolrelative violation

Definition at line 469 of file scip_sol.c.

References NULL, SCIP_Sol::scip, SCIPprimalUpdateViolations(), and SCIPsolUpdateLPConsViolation().

Referenced by checkCons(), and isConsViolated().

◆ SCIPactivateSolViolationUpdates()

void SCIPactivateSolViolationUpdates ( SCIP scip)

allow violation updates

Parameters
scipSCIP data structure

Definition at line 485 of file scip_sol.c.

References SCIPprimalSetUpdateViolations(), and TRUE.

Referenced by checkCons().

◆ SCIPdeactivateSolViolationUpdates()

void SCIPdeactivateSolViolationUpdates ( SCIP scip)

disallow violation updates

Parameters
scipSCIP data structure

Definition at line 493 of file scip_sol.c.

References FALSE, and SCIPprimalSetUpdateViolations().

Referenced by checkCons().

◆ SCIPhasPrimalRay()

SCIP_Bool SCIPhasPrimalRay ( SCIP scip)

return whether a primal ray is stored that proves unboundedness of the LP relaxation

Returns
return whether a primal ray is stored that proves unboundedness of the LP relaxation
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure

Definition at line 4427 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL_ABORT, SCIPcheckStage, and TRUE.

Referenced by setupAndSolve().

◆ SCIPgetPrimalRayVal()

SCIP_Real SCIPgetPrimalRayVal ( SCIP scip,
SCIP_VAR var 
)

gets value of given variable in primal ray causing unboundedness of the LP relaxation; should only be called if such a ray is stored (check with SCIPhasPrimalRay())

Returns
value of given variable in primal ray causing unboundedness of the LP relaxation
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
varvariable to get value for

Definition at line 4445 of file scip_sol.c.

References FALSE, NULL, SCIP_Var::scip, SCIP_CALL_ABORT, SCIPcheckStage, SCIPsolGetRayVal(), and TRUE.

Referenced by setupAndSolve().

◆ SCIPupdatePrimalRay()

SCIP_RETCODE SCIPupdatePrimalRay ( SCIP scip,
SCIP_SOL primalray 
)

updates the primal ray thats proves unboundedness

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if scip is in one of the following stages:

See SCIP_STAGE for a complete list of all possible solving stages.

Parameters
scipSCIP data structure
primalraythe new primal ray

Definition at line 4473 of file scip_sol.c.

References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPprimalUpdateRay(), and TRUE.

Referenced by setupAndSolve().

◆ SCIPoverwriteFPsol()

SCIP_RETCODE SCIPoverwriteFPsol ( SCIP scip,
SCIP_SOL sol 
)

overwrite the fp-values in a solution with the rounded exact ones

Parameters
scipSCIP data structure
solprimal CIP solution

Definition at line 4489 of file scip_sol.c.

References FALSE, NULL, SCIP_Sol::scip, SCIP_CALL, SCIP_CALL_ABORT, SCIP_OKAY, SCIPcheckStage, SCIPsolOverwriteFPSolWithExact(), and TRUE.

Referenced by SCIP_DECL_CONSCHECK().

◆ SCIPtrySolFreeExact()

SCIP_RETCODE SCIPtrySolFreeExact ( SCIP scip,
SCIP_SOL **  sol,
SCIP_Bool  printreason,
SCIP_Bool  completely,
SCIP_Bool  checkbounds,
SCIP_Bool  checkintegrality,
SCIP_Bool  checklprows,
SCIP_Bool stored 
)

checks exact primal solution; if feasible, adds it to storage; solution is freed afterwards

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Note
Do not call during propagation, use heur_trysol instead.
Parameters
scipSCIP data structure
solpointer to primal CIP solution; is cleared in function call
printreasonShould all reasons of violations be printed
completelyShould all violations be checked if printreason is true?
checkboundsShould the bounds of the variables be checked?
checkintegralityHas integrality to be checked?
checklprowsDo constraints represented by rows in the current LP have to be checked?
storedstores whether solution was feasible and good enough to keep

Definition at line 4520 of file scip_sol.c.

References checkSolOrig(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIPcheckStage, SCIPerrorMessage, SCIPgetBestSol(), SCIPprimalAddSolFreeExact(), SCIPprimalTrySolFreeExact(), SCIPsolFree(), SCIPsolIsOriginal(), SCIPsolIsPartial(), SCIPsolRetransform(), SCIPsolUnlink(), SCIPstoreSolutionGap(), and TRUE.

Referenced by presolve(), and SCIP_DECL_CONSCHECK().