256 assert(stat !=
NULL);
287 assert(blkmem !=
NULL);
288 assert(stat !=
NULL);
296 (*sol)->primalindex = -1;
298 (*sol)->hasinfval =
FALSE;
320 assert(blkmem !=
NULL);
321 assert(stat !=
NULL);
329 (*sol)->primalindex = -1;
331 (*sol)->hasinfval =
FALSE;
351 assert(sourcesol !=
NULL);
356 (*sol)->heur = sourcesol->
heur;
357 (*sol)->obj = sourcesol->
obj;
358 (*sol)->primalindex = -1;
359 (*sol)->time = sourcesol->
time;
361 (*sol)->lpcount = sourcesol->
lpcount;
363 (*sol)->nodenum = sourcesol->
nodenum;
364 (*sol)->solorigin = sourcesol->
solorigin;
365 (*sol)->runnum = sourcesol->
runnum;
366 (*sol)->depth = sourcesol->
depth;
368 (*sol)->hasinfval = sourcesol->
hasinfval;
392 assert(transsol !=
NULL);
397 assert(tsol !=
NULL);
405 tmpvalid = sol->
valid;
408 tsol->
vals = tmpvals;
409 tsol->
valid = tmpvalid;
441 assert(prob !=
NULL);
453 nimplvars = nbinvars + nintvars + nimplvars;
456 for( v = nbinvars + nintvars; v < nimplvars; ++v )
503 for( r = 0; r < nrows && !(roundup && rounddown); ++r )
535 if( roundup == rounddown )
537 rounddown = ndownlocks <= nuplocks;
538 roundup = !rounddown;
616 assert(relaxation !=
NULL);
659 assert(tree !=
NULL);
684 assert(blkmem !=
NULL);
686 assert(stat !=
NULL);
687 assert(primal !=
NULL);
695 (*sol)->primalindex = -1;
697 (*sol)->hasinfval =
FALSE;
718 assert(blkmem !=
NULL);
719 assert(stat !=
NULL);
727 (*sol)->primalindex = -1;
729 (*sol)->hasinfval =
FALSE;
746 assert(*sol !=
NULL);
768 assert(stat !=
NULL);
769 assert(tree !=
NULL);
795 for( c = 0; c < ncols; ++c )
824 assert(stat !=
NULL);
825 assert(tree !=
NULL);
847 for( v = 0; v < nvars; ++v )
876 assert(stat !=
NULL);
877 assert(tree !=
NULL);
878 assert(relaxation !=
NULL);
907 assert(stat !=
NULL);
908 assert(tree !=
NULL);
935 assert(tree !=
NULL);
995 assert(prob !=
NULL);
1003 for( v = 0; v < prob->
nvars; ++v )
1026 assert(sol !=
NULL);
1027 assert(stat !=
NULL);
1033 assert(var !=
NULL);
1060 objcont = obj * oldval;
1068 sol->obj -= objcont;
1072 objcont = obj * val;
1080 sol->obj += objcont;
1096 || sol->lpcount == stat->
lpcount);
1110 objcont = obj * oldval;
1118 sol->obj -= objcont;
1122 objcont = obj * val;
1130 sol->obj += objcont;
1142 SCIPerrorMessage(
"cannot set solution value for variable <%s> fixed to %.15g to different value %.15g\n",
1176 SCIPerrorMessage(
"cannot set solution value for variable <%s> fixed to %.15g to different value %.15g\n",
1185 return SCIPsolSetVal(sol,
set, stat, tree, multaggrvars[0], multaggrscalars[0] > 0 ? val : -val);
1187 return SCIPsolSetVal(sol,
set, stat, tree, multaggrvars[0], (val - multaggrconstant)/multaggrscalars[0]);
1190 SCIPerrorMessage(
"cannot set solution value for multiple aggregated variable\n");
1221 assert(sol !=
NULL);
1222 assert(stat !=
NULL);
1226 assert(var !=
NULL);
1235 || sol->lpcount == stat->
lpcount);
1273 SCIPerrorMessage(
"cannot increase solution value for multiple aggregated variable\n");
1300 assert(sol !=
NULL);
1306 assert(var !=
NULL);
1327 if( origvar ==
NULL )
1333 return scalar *
SCIPsolGetVal(sol,
set, stat, origvar) + constant;
1377 for( i = 0; i < nvars; ++i )
1384 if( scalars[i] * solval > 0.0 )
1386 if( scalars[i] * solval < 0.0 )
1389 solvalsum += scalars[i] * solval;
1425 assert(sol !=
NULL);
1427 assert(var !=
NULL);
1457 for( i = 0; i < nvars; ++i )
1462 solvalsum += scalars[i] * solval;
1487 assert(sol !=
NULL);
1506 assert(sol !=
NULL);
1512 sol->
obj += (newobj - oldobj) * solval;
1527 assert(sol !=
NULL);
1529 assert(nvars == 0 || vars !=
NULL);
1537 for( v = 0; v < nvars; v++ )
1547 for( v = 0; v < nvars; v++ )
1599 assert(sol !=
NULL);
1601 assert(
set !=
NULL);
1602 assert(prob !=
NULL);
1603 assert(feasible !=
NULL);
1605 SCIPsetDebugMsg(
set,
"checking solution with objective value %g (nodenum=%" SCIP_LONGINT_FORMAT
", origin=%u)\n",
1618 for( v = 0; v < prob->
nvars && (*feasible || completely); ++v )
1623 var = prob->
vars[v];
1664 SCIPmessagePrintInfo(messagehdlr,
"infinite solution value %g for variable <%s> with obj %g implies objective value +infinity\n",
1670 SCIPsetDebugMsgPrint(
set,
"infinite solution value %g for variable <%s> with obj %g implies objective value +infinity\n",
1681 for( h = 0; h <
set->nconshdlrs && (*feasible || completely); ++h )
1684 checkintegrality, checklprows, printreason, completely, &result) );
1690 SCIPdebugPrintf(
" -> infeasibility detected in constraint handler <%s>\n",
1713 assert(sol !=
NULL);
1715 assert(prob !=
NULL);
1717 assert(success !=
NULL);
1721 for( v = 0; v < nvars; ++v )
1728 var = prob->
vars[v];
1747 if( mayrounddown && mayroundup )
1755 else if( mayrounddown )
1757 else if( mayroundup )
1767 *success = (v == nvars);
1784 assert(sol !=
NULL);
1786 assert(0.0 <= weight && weight <= 1.0);
1788 for( v = 0; v < prob->
nvars; ++v )
1824 assert(sol !=
NULL);
1826 assert(origprob !=
NULL);
1827 assert(transprob !=
NULL);
1828 assert(hasinfval !=
NULL);
1840 vars = origprob->
vars;
1841 nvars = origprob->
nvars;
1842 transvars = transprob->
vars;
1843 ntransvars = transprob->
nvars;
1852 assert(transsolvals !=
NULL);
1853 assert(solvals !=
NULL);
1856 for( v = 0; v < ntransvars; ++v )
1858 transsolvals[v] =
SCIPsolGetVal(sol,
set, stat, transvars[v]);
1862 for( v = 0; v < nvars; ++v )
1864 activevars[0] = vars[v];
1865 activevals[0] = 1.0;
1871 &requiredsize,
TRUE) );
1872 assert(requiredsize <= ntransvars);
1875 solvals[v] = constant;
1876 for( i = 0; i < nactivevars; ++i )
1902 for( v = 0; v < nvars; ++v )
1938 assert(sol !=
NULL);
1940 assert(origprob !=
NULL);
1942 vars = origprob->
vars;
1943 nvars = origprob->
nvars;
1947 for( v = 0; v < nvars; ++v )
1976 assert(sol1 !=
NULL);
1977 assert(sol2 !=
NULL);
2003 assert(prob !=
NULL);
2006 for( v = 0; v < prob->
nvars; ++v )
2036 assert(sol !=
NULL);
2037 assert(prob !=
NULL);
2051 if( printzeros || mipstart
2068 for( v = 0; v < prob->
nvars; ++v )
2077 if( printzeros || mipstart
2097 assert(transprob !=
NULL);
2123 for( v = 0; v < transprob->
nvars; ++v )
2125 assert(transprob->
vars[v] !=
NULL);
2168 assert(sol !=
NULL);
2169 assert(prob !=
NULL);
2191 for( v = 0; v < prob->
nvars; ++v )
2213 assert(transprob !=
NULL);
2235 for( v = 0; v < transprob->
nvars; ++v )
2237 assert(transprob->
vars[v] !=
NULL);
2274 #undef SCIPsolGetOrigin 2275 #undef SCIPsolIsOriginal 2276 #undef SCIPsolGetOrigObj 2277 #undef SCIPsolGetTime 2278 #undef SCIPsolGetNodenum 2279 #undef SCIPsolGetRunnum 2280 #undef SCIPsolGetDepth 2281 #undef SCIPsolGetHeur 2282 #undef SCIPsolOrigAddObjval 2283 #undef SCIPsolGetPrimalIndex 2284 #undef SCIPsolSetPrimalIndex 2285 #undef SCIPsolGetIndex 2286 #undef SCIPsolSetHeur 2293 assert(sol !=
NULL);
2303 assert(sol !=
NULL);
2313 assert(sol !=
NULL);
2323 assert(sol !=
NULL);
2335 assert(sol !=
NULL);
2346 assert(sol !=
NULL);
2356 assert(sol !=
NULL);
2366 assert(sol !=
NULL);
2376 assert(sol !=
NULL);
2386 assert(sol !=
NULL);
2396 assert(sol !=
NULL);
2407 assert(sol !=
NULL);
2417 assert(sol !=
NULL);
2428 assert(sol !=
NULL);
enum SCIP_Result SCIP_RESULT
SCIP_Bool SCIPsolIsOriginal(SCIP_SOL *sol)
SCIP_RETCODE SCIPsolCreateRelaxSol(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_RELAXATION *relaxation, SCIP_HEUR *heur)
SCIP_RETCODE SCIPsolUnlink(SCIP_SOL *sol, SCIP_SET *set, SCIP_PROB *prob)
SCIP_Bool SCIPsetIsInfinity(SCIP_SET *set, SCIP_Real val)
SCIP_RETCODE SCIPsolRound(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_TREE *tree, SCIP_Bool *success)
SCIP_RETCODE SCIPsolCreatePartial(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_HEUR *heur)
SCIP_RETCODE SCIPsolLinkPseudoSol(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_TREE *tree, SCIP_LP *lp)
SCIP_Bool SCIPsetIsLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPsetIsFeasZero(SCIP_SET *set, SCIP_Real val)
internal methods for storing primal CIP solutions
int SCIPprobGetNBinVars(SCIP_PROB *prob)
void SCIPvarMarkNotDeletable(SCIP_VAR *var)
SCIP_Bool SCIPlpDiving(SCIP_LP *lp)
void SCIPprimalSolFreed(SCIP_PRIMAL *primal, SCIP_SOL *sol)
SCIP_Real * SCIPvarGetMultaggrScalars(SCIP_VAR *var)
SCIP_Real SCIPrelaxationGetSolObj(SCIP_RELAXATION *relaxation)
internal methods for branch and bound tree
SCIP_Real SCIPsetFloor(SCIP_SET *set, SCIP_Real val)
SCIP_Real SCIPvarGetLbGlobal(SCIP_VAR *var)
SCIP_RETCODE SCIPsolLinkNLPSol(SCIP_SOL *sol, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_NLP *nlp)
internal methods for clocks and timing issues
SCIP_Real * SCIPcolGetVals(SCIP_COL *col)
SCIP_Bool SCIPsetIsPositive(SCIP_SET *set, SCIP_Real val)
SCIP_VAR ** SCIPvarGetMultaggrVars(SCIP_VAR *var)
SCIP_RETCODE SCIPrealarrayCreate(SCIP_REALARRAY **realarray, BMS_BLKMEM *blkmem)
SCIP_Bool SCIPboolarrayGetVal(SCIP_BOOLARRAY *boolarray, int idx)
SCIP_Real SCIPvarGetLbLocal(SCIP_VAR *var)
SCIP_RETCODE SCIPsolLinkLPSol(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_TREE *tree, SCIP_LP *lp)
SCIP_RETCODE SCIPsolCreateUnknown(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_HEUR *heur)
SCIP_Real SCIPsetInfinity(SCIP_SET *set)
SCIP_RETCODE SCIPsolLinkCurrentSol(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_TREE *tree, SCIP_LP *lp)
SCIP_Real SCIProwGetLhs(SCIP_ROW *row)
SCIP_Bool SCIPsetIsFeasIntegral(SCIP_SET *set, SCIP_Real val)
SCIP_RETCODE SCIPsolCopy(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_SOL *sourcesol)
SCIP_Bool SCIPsetIsZero(SCIP_SET *set, SCIP_Real val)
enum SCIP_Retcode SCIP_RETCODE
SCIP_Real SCIPvarGetNegationConstant(SCIP_VAR *var)
void SCIPsolSetPrimalIndex(SCIP_SOL *sol, int primalindex)
SCIP_Real SCIPprobInternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval)
#define SCIPsetAllocBufferArray(set, ptr, num)
int SCIPtreeGetCurrentDepth(SCIP_TREE *tree)
SCIP_Real SCIPsolGetRayVal(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR *var)
SCIP_RETCODE SCIPsolSetUnknown(SCIP_SOL *sol, SCIP_STAT *stat, SCIP_TREE *tree)
int SCIPvarGetProbindex(SCIP_VAR *var)
SCIP_RETCODE SCIPboolarrayCopy(SCIP_BOOLARRAY **boolarray, BMS_BLKMEM *blkmem, SCIP_BOOLARRAY *sourceboolarray)
SCIP_Bool SCIPsolsAreEqual(SCIP_SOL *sol1, SCIP_SOL *sol2, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob)
SCIP_Real SCIPsolGetTime(SCIP_SOL *sol)
SCIP_Real SCIPvarGetAggrScalar(SCIP_VAR *var)
SCIP_Real SCIPlpGetPseudoObjval(SCIP_LP *lp, SCIP_SET *set, SCIP_PROB *prob)
SCIP_Bool SCIPrelaxationIsSolValid(SCIP_RELAXATION *relaxation)
SCIP_Bool SCIPsetIsNegative(SCIP_SET *set, SCIP_Real val)
SCIP_RETCODE SCIPsolClear(SCIP_SOL *sol, SCIP_STAT *stat, SCIP_TREE *tree)
#define SCIPsetFreeBufferArray(set, ptr)
SCIP_VAR * SCIPvarGetNegationVar(SCIP_VAR *var)
SCIP_Real SCIPsetCeil(SCIP_SET *set, SCIP_Real val)
SCIP_Real SCIPvarGetRelaxSolTransVar(SCIP_VAR *var)
internal methods for LP management
SCIP_Real SCIPsolGetOrigObj(SCIP_SOL *sol)
internal methods for collecting primal CIP solutions and primal informations
SCIP_Real SCIPsolGetVal(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR *var)
SCIP_RETCODE SCIPboolarraySetVal(SCIP_BOOLARRAY *boolarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, SCIP_Bool val)
int SCIPlpGetNCols(SCIP_LP *lp)
SCIP_Bool SCIPsetIsGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIProwIsInLP(SCIP_ROW *row)
SCIP_RETCODE SCIPrealarrayIncVal(SCIP_REALARRAY *realarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, SCIP_Real incval)
SCIP_Real SCIPvarGetUbGlobal(SCIP_VAR *var)
SCIP_Bool SCIPsetIsLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPclockGetLastTime(SCIP_CLOCK *clck)
SCIP_Bool SCIPtreeProbing(SCIP_TREE *tree)
SCIP_Bool SCIPnlpIsDivingObjChanged(SCIP_NLP *nlp)
static void solStamp(SCIP_SOL *sol, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_Bool checktime)
SCIP_Real SCIPsolGetObj(SCIP_SOL *sol, SCIP_SET *set, SCIP_PROB *transprob, SCIP_PROB *origprob)
int SCIPprobGetNImplVars(SCIP_PROB *prob)
void SCIPsolUpdateVarsum(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_Real weight)
SCIP_RETCODE SCIPrealarrayCopy(SCIP_REALARRAY **realarray, BMS_BLKMEM *blkmem, SCIP_REALARRAY *sourcerealarray)
internal methods for storing and manipulating the main problem
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
SCIP_ROW ** SCIPcolGetRows(SCIP_COL *col)
SCIP_RETCODE SCIPsolCreateCurrentSol(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_LP *lp, SCIP_HEUR *heur)
SCIP_RETCODE SCIPboolarrayCreate(SCIP_BOOLARRAY **boolarray, BMS_BLKMEM *blkmem)
SCIP_COL ** SCIPlpGetCols(SCIP_LP *lp)
SCIP_Bool SCIProwIsLocal(SCIP_ROW *row)
SCIP_Bool SCIPvarIsTransformedOrigvar(SCIP_VAR *var)
SCIP_Real SCIPrealarrayGetVal(SCIP_REALARRAY *realarray, int idx)
SCIP_Real SCIPnlpGetObjval(SCIP_NLP *nlp)
SCIP_RETCODE SCIPsolSetVal(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_VAR *var, SCIP_Real val)
SCIP_Real SCIPvarGetAggrConstant(SCIP_VAR *var)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_Real SCIPclockGetTime(SCIP_CLOCK *clck)
internal methods for NLP management
SCIP_Real SCIPsetFeasCeil(SCIP_SET *set, SCIP_Real val)
static SCIP_RETCODE solIncArrayVal(SCIP_SOL *sol, SCIP_SET *set, SCIP_VAR *var, SCIP_Real incval)
internal miscellaneous methods
SCIP_RETCODE SCIPboolarrayClear(SCIP_BOOLARRAY *boolarray)
SCIP_HEUR * SCIPsolGetHeur(SCIP_SOL *sol)
SCIP_Real SCIPvarGetLPSol(SCIP_VAR *var)
static SCIP_RETCODE solUnlinkVar(SCIP_SOL *sol, SCIP_SET *set, SCIP_VAR *var)
SCIP_RETCODE SCIPsolCreateOriginal(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_HEUR *heur)
internal methods for global SCIP settings
SCIP_Bool SCIPsetIsFeasGE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPvarGetMultaggrConstant(SCIP_VAR *var)
void SCIPmessagePrintInfo(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
SCIP_Real SCIProwGetRhs(SCIP_ROW *row)
internal methods for relaxators
SCIP_Bool SCIPsetIsEQ(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPlpGetObjval(SCIP_LP *lp, SCIP_SET *set, SCIP_PROB *prob)
SCIP_Bool SCIPsetIsFeasLE(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
datastructures for storing primal CIP solutions
int SCIPprobGetNIntVars(SCIP_PROB *prob)
SCIP_RETCODE SCIPsolTransform(SCIP_SOL *sol, SCIP_SOL **transsol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_PRIMAL *primal)
void SCIPsolRecomputeObj(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *origprob)
SCIP_Real SCIProwGetSolActivity(SCIP_ROW *row, SCIP_SET *set, SCIP_STAT *stat, SCIP_SOL *sol)
#define BMSfreeBlockMemory(mem, ptr)
internal methods for problem variables
SCIP_RETCODE SCIPprimalSolCreated(SCIP_PRIMAL *primal, SCIP_SET *set, SCIP_SOL *sol)
SCIP_Longint SCIPsolGetNodenum(SCIP_SOL *sol)
SCIP_Real SCIPprobGetObjoffset(SCIP_PROB *prob)
SCIP_NLPSOLSTAT SCIPnlpGetSolstat(SCIP_NLP *nlp)
SCIP_RETCODE SCIPsolIncVal(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_VAR *var, SCIP_Real incval)
SCIP_Real SCIPvarGetNLPSol(SCIP_VAR *var)
SCIP_RETCODE SCIPsolCreate(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_HEUR *heur)
SCIP_RETCODE SCIPrealarrayFree(SCIP_REALARRAY **realarray)
void SCIPsolSetHeur(SCIP_SOL *sol, SCIP_HEUR *heur)
SCIP_Bool SCIPlpDivingObjChanged(SCIP_LP *lp)
int SCIPvarGetNLocksUp(SCIP_VAR *var)
SCIP_RETCODE SCIPsolRetransform(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *origprob, SCIP_PROB *transprob, SCIP_Bool *hasinfval)
SCIP_RETCODE SCIPsolMarkPartial(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_VAR **vars, int nvars)
SCIP_RETCODE SCIPsolPrint(SCIP_SOL *sol, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_PROB *transprob, FILE *file, SCIP_Bool mipstart, SCIP_Bool printzeros)
SCIP_Real SCIPvarGetUnchangedObj(SCIP_VAR *var)
void SCIPsolOrigAddObjval(SCIP_SOL *sol, SCIP_Real addval)
SCIP_Real SCIPvarGetObj(SCIP_VAR *var)
static SCIP_RETCODE solSetArrayVal(SCIP_SOL *sol, SCIP_SET *set, SCIP_VAR *var, SCIP_Real val)
SCIP_VAR * SCIPvarGetAggrVar(SCIP_VAR *var)
SCIP_Bool SCIPtreeHasCurrentNodeLP(SCIP_TREE *tree)
int SCIPnlpGetNVars(SCIP_NLP *nlp)
SCIP_COL * SCIPvarGetCol(SCIP_VAR *var)
int SCIPvarGetMultaggrNVars(SCIP_VAR *var)
SCIP_RETCODE SCIPvarGetOrigvarSum(SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant)
SCIP_Bool SCIPsetIsFeasLT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_RETCODE SCIPsolPrintRay(SCIP_SOL *sol, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_PROB *transprob, FILE *file, SCIP_Bool printzeros)
SCIP_RETCODE SCIPsolAdjustImplicitSolVals(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_TREE *tree, SCIP_Bool uselprows)
static SCIP_RETCODE solClearArrays(SCIP_SOL *sol)
SCIP_Real SCIPlpGetLooseObjval(SCIP_LP *lp, SCIP_SET *set, SCIP_PROB *prob)
SCIP_RETCODE SCIPsolLinkRelaxSol(SCIP_SOL *sol, SCIP_SET *set, SCIP_STAT *stat, SCIP_TREE *tree, SCIP_RELAXATION *relaxation)
SCIP_Real SCIPsetFeasFloor(SCIP_SET *set, SCIP_Real val)
int SCIPcolGetNNonz(SCIP_COL *col)
int SCIPvarGetNLocksDown(SCIP_VAR *var)
SCIP_VAR * SCIPcolGetVar(SCIP_COL *col)
static const SCIP_Real scalars[]
SCIP_RETCODE SCIPsolCreateLPSol(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_LP *lp, SCIP_HEUR *heur)
SCIP_RETCODE SCIPvarGetActiveRepresentatives(SCIP_SET *set, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize, SCIP_Bool mergemultiples)
SCIP_RETCODE SCIPboolarrayFree(SCIP_BOOLARRAY **boolarray)
public methods for message output
SCIP_SOLORIGIN SCIPsolGetOrigin(SCIP_SOL *sol)
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
SCIP_Bool SCIPsetIsGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_VARSTATUS SCIPvarGetStatus(SCIP_VAR *var)
static SCIP_Real solGetArrayVal(SCIP_SOL *sol, SCIP_VAR *var)
int SCIPsolGetPrimalIndex(SCIP_SOL *sol)
void SCIPsolUpdateVarObj(SCIP_SOL *sol, SCIP_VAR *var, SCIP_Real oldobj, SCIP_Real newobj)
internal methods for problem statistics
SCIP_Bool SCIPlpIsSolved(SCIP_LP *lp)
SCIP_Bool SCIPsetIsFeasPositive(SCIP_SET *set, SCIP_Real val)
#define SCIPsetDebugMsgPrint
SCIP_VAR ** SCIPprobGetVars(SCIP_PROB *prob)
enum SCIP_SolOrigin SCIP_SOLORIGIN
internal methods for constraints and constraint handlers
int SCIPsolGetDepth(SCIP_SOL *sol)
SCIP_VAR ** SCIPnlpGetVars(SCIP_NLP *nlp)
int SCIPvarGetIndex(SCIP_VAR *var)
SCIP_RETCODE SCIPsolCreateNLPSol(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_NLP *nlp, SCIP_HEUR *heur)
SCIP_Bool SCIPsetIsFeasGT(SCIP_SET *set, SCIP_Real val1, SCIP_Real val2)
SCIP_RETCODE SCIPrealarraySetVal(SCIP_REALARRAY *realarray, int arraygrowinit, SCIP_Real arraygrowfac, int idx, SCIP_Real val)
SCIP_VARTYPE SCIPvarGetType(SCIP_VAR *var)
SCIP_Real SCIPvarGetUbLocal(SCIP_VAR *var)
SCIP_Bool SCIPvarIsTransformed(SCIP_VAR *var)
#define BMSallocBlockMemory(mem, ptr)
SCIP_RETCODE SCIPsolCreatePseudoSol(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_LP *lp, SCIP_HEUR *heur)
SCIP_Bool SCIPsolIsPartial(SCIP_SOL *sol)
common defines and data types used in all packages of SCIP
int SCIPsolGetRunnum(SCIP_SOL *sol)
struct BMS_BlkMem BMS_BLKMEM
SCIP_RETCODE SCIPconshdlrCheck(SCIP_CONSHDLR *conshdlr, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_SOL *sol, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool printreason, SCIP_Bool completely, SCIP_RESULT *result)
SCIP_Real SCIPvarGetPseudoSol(SCIP_VAR *var)
SCIP_VAR * SCIPvarGetTransVar(SCIP_VAR *var)
SCIP_Bool SCIPvarIsIntegral(SCIP_VAR *var)
SCIP_RETCODE SCIPsolCheck(SCIP_SOL *sol, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *feasible)
int SCIPsolGetIndex(SCIP_SOL *sol)
SCIP_Bool SCIPvarMayRoundUp(SCIP_VAR *var)
SCIP_Bool SCIPvarMayRoundDown(SCIP_VAR *var)
SCIP_Bool SCIPsetIsFeasNegative(SCIP_SET *set, SCIP_Real val)
SCIP_Bool SCIPvarIsActive(SCIP_VAR *var)
SCIP_RETCODE SCIPsolFree(SCIP_SOL **sol, BMS_BLKMEM *blkmem, SCIP_PRIMAL *primal)