prob.h
Go to the documentation of this file.
21 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 54 * If the problem type requires the use of variable pricers, these pricers should be activated with calls 55 * to SCIPactivatePricer(). These pricers are automatically deactivated, when the problem is freed. 66 SCIP_HASHMAP* consmap, /**< a hashmap to store the mapping of source constraints to the corresponding 72 * If the problem type requires the use of variable pricers, these pricers should be activated with calls 73 * to SCIPactivatePricer(). These pricers are automatically deactivated, when the problem is freed. 82 SCIP_DECL_PROBTRANS ((*probtrans)), /**< creates user data of transformed problem by transforming original user data */ 84 SCIP_DECL_PROBINITSOL ((*probinitsol)), /**< solving process initialization method of transformed data */ 85 SCIP_DECL_PROBEXITSOL ((*probexitsol)), /**< solving process deinitialization method of transformed data */ 86 SCIP_DECL_PROBCOPY ((*probcopy)), /**< copies user data if you want to copy it to a subscip, or NULL */ 98 /** sets callback to create user data of transformed problem by transforming original user data */ 102 SCIP_DECL_PROBTRANS ((*probtrans)) /**< creates user data of transformed problem by transforming original user data */ 116 SCIP_DECL_PROBINITSOL ((*probinitsol)) /**< solving process initialization callback of transformed data */ 123 SCIP_DECL_PROBEXITSOL ((*probexitsol)) /**< solving process deinitialization callback of transformed data */ 130 SCIP_DECL_PROBCOPY ((*probcopy)) /**< copies user data if you want to copy it to a subscip, or NULL */ 161 /** resets the global and local bounds of original variables in original problem to their original values */ 170 /** (Re)Sort the variables, which appear in the four categories (binary, integer, implicit, continuous) after presolve 171 * with respect to their original index (within their categories). Adjust the problem index afterwards which is 172 * supposed to reflect the position in the variable array. This additional (re)sorting is supposed to get more robust 173 * against the order presolving fixed variables. (We also reobtain a possible block structure induced by the user 220 /** marks variable to be removed from the problem; however, the variable is NOT removed from the constraints */ 228 SCIP_Bool* deleted /**< pointer to store whether marking variable to be deleted was successful */ 292 /** releases and removes constraint from the problem; if the user has not captured the constraint for his own use, the 334 /** sets limit on objective function, such that only solutions better than this limit are accepted */ 341 /** informs the problem, that its objective value is always integral in every feasible solution */ 347 /** sets integral objective value flag, if all variables with non-zero objective values are integral and have 348 * integral objective value and also updates the cutoff bound if primal solution is already known 388 /** remembers the best solution w.r.t. root reduced cost propagation as root solution in the problem variables */ 397 /** informs problem, that the presolving process was finished, and updates all internal data structures */ 411 /** deinitializes problem after branch and bound process, and converts all COLUMN variables back into LOOSE variables */ 436 /** returns the number of implicit binary variables, meaning variable of vartype != SCIP_VARTYPE_BINARY and != 439 * @note this number needs to be computed, because it cannot be update like the othe counters for binary and interger 440 * variables, each time the variable type changes(, we would need to update this counter each time a global bound 441 * changes), even at the end of presolving this cannot be computed, because some variable can change to an 551 /** returns TRUE iff all columns, i.e. every variable with non-empty column w.r.t. all ever created rows, are present 552 * in the LP, and FALSE, if there are additional already existing columns, that may be added to the LP in pricing 630 /* In optimized mode, the methods are implemented as defines to reduce the number of function calls and 638 #define SCIPprobAllColsInLP(prob,set,lp) (SCIPlpGetNCols(lp) == (prob)->ncolvars && (set)->nactivepricers == 0) 640 ((prob)->objlim >= SCIP_INVALID ? (SCIP_Real)((prob)->objsense) * SCIPsetInfinity(set) : (prob)->objlim)
SCIP_RETCODE SCIPprobRemoveVarName(SCIP_PROB *prob, SCIP_VAR *var) Definition: prob.c:878 type definitions for implications, variable bounds, and cliques Definition: struct_scip.h:53 SCIP_RETCODE SCIPprobCreate(SCIP_PROB **prob, BMS_BLKMEM *blkmem, SCIP_SET *set, const char *name, SCIP_DECL_PROBDELORIG((*probdelorig)), SCIP_DECL_PROBTRANS((*probtrans)), SCIP_DECL_PROBDELTRANS((*probdeltrans)), SCIP_DECL_PROBINITSOL((*probinitsol)), SCIP_DECL_PROBEXITSOL((*probexitsol)), SCIP_DECL_PROBCOPY((*probcopy)), SCIP_PROBDATA *probdata, SCIP_Bool transformed) Definition: prob.c:250 void SCIPprobSetExitsol(SCIP_PROB *prob, SCIP_DECL_PROBEXITSOL((*probexitsol))) Definition: prob.c:372 SCIP_RETCODE SCIPprobChgVarType(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_BRANCHCAND *branchcand, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var, SCIP_VARTYPE vartype) Definition: prob.c:1093 void SCIPprobSetInitsol(SCIP_PROB *prob, SCIP_DECL_PROBINITSOL((*probinitsol))) Definition: prob.c:361 void SCIPprobSetTrans(SCIP_PROB *prob, SCIP_DECL_PROBTRANS((*probtrans))) Definition: prob.c:339 Definition: struct_var.h:196 SCIP_RETCODE SCIPprobAddConsName(SCIP_PROB *prob, SCIP_CONS *cons) Definition: prob.c:1197 Definition: struct_primal.h:36 Definition: struct_event.h:169 Definition: struct_message.h:35 type definitions for global SCIP settings void SCIPprobStoreRootSol(SCIP_PROB *prob, SCIP_SET *set, SCIP_LP *lp, SCIP_Bool roothaslp) Definition: prob.c:1661 Definition: struct_prob.h:38 type definitions for return codes for SCIP methods void SCIPprobUpdateNObjVars(SCIP_PROB *prob, SCIP_SET *set, SCIP_Real oldobj, SCIP_Real newobj) Definition: prob.c:1493 void SCIPprobPrintStatistics(SCIP_PROB *prob, SCIP_MESSAGEHDLR *messagehdlr, FILE *file) Definition: prob.c:2057 type definitions for collecting reoptimization information void SCIPprobSetDelorig(SCIP_PROB *prob, SCIP_DECL_PROBDELORIG((*probdelorig))) Definition: prob.c:328 void SCIPprobPrintPseudoSol(SCIP_PROB *prob, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr) Definition: prob.c:2035 type definitions for branching rules type definitions for problem statistics void SCIPprobSetCopy(SCIP_PROB *prob, SCIP_DECL_PROBCOPY((*probcopy))) Definition: prob.c:383 SCIP_RETCODE SCIPprobCopy(SCIP_PROB **prob, BMS_BLKMEM *blkmem, SCIP_SET *set, const char *name, SCIP *sourcescip, SCIP_PROB *sourceprob, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global) Definition: prob.c:184 type definitions for LP management Definition: struct_set.h:56 SCIP_Real SCIPprobExternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval) Definition: prob.c:1953 Definition: struct_misc.h:101 SCIP_CONS * SCIPprobFindCons(SCIP_PROB *prob, const char *name) Definition: prob.c:2016 SCIP_RETCODE SCIPprobSetName(SCIP_PROB *prob, const char *name) Definition: prob.c:1873 SCIP_RETCODE SCIPprobDelVar(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *var, SCIP_Bool *deleted) Definition: prob.c:961 void SCIPprobSetDeltrans(SCIP_PROB *prob, SCIP_DECL_PROBDELTRANS((*probdeltrans))) Definition: prob.c:350 Definition: struct_cons.h:36 SCIP_RETCODE SCIPprobAddVar(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *var) Definition: prob.c:893 void SCIPprobSetDualbound(SCIP_PROB *prob, SCIP_Real dualbound) Definition: prob.c:1396 SCIP_RETCODE SCIPprobResetBounds(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat) Definition: prob.c:583 SCIP_RETCODE SCIPprobScaleObj(SCIP_PROB *transprob, SCIP_PROB *origprob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue) Definition: prob.c:1537 type definitions for problem variables void SCIPprobUpdateBestRootSol(SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp) Definition: prob.c:1684 SCIP_RETCODE SCIPprobRemoveConsName(SCIP_PROB *prob, SCIP_CONS *cons) Definition: prob.c:1212 type definitions for managing events SCIP_RETCODE SCIPprobVarChangedStatus(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_BRANCHCAND *branchcand, SCIP_CLIQUETABLE *cliquetable, SCIP_VAR *var) Definition: prob.c:1139 SCIP_RETCODE SCIPprobInitSolve(SCIP_PROB *prob, SCIP_SET *set) Definition: prob.c:1788 Definition: struct_reopt.h:113 type definitions for branch and bound tree SCIP_RETCODE SCIPprobFree(SCIP_PROB **prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp) Definition: prob.c:394 SCIP_RETCODE SCIPprobExitPresolve(SCIP_PROB *prob, SCIP_SET *set) Definition: prob.c:1779 SCIP_Bool SCIPprobAllColsInLP(SCIP_PROB *prob, SCIP_SET *set, SCIP_LP *lp) Definition: prob.c:2140 type definitions for storing and manipulating the main problem SCIP_RETCODE SCIPprobAddCons(SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons) Definition: prob.c:1230 datastructures for storing and manipulating the main problem SCIP_RETCODE SCIPprobPerformVarDeletions(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_EVENTQUEUE *eventqueue, SCIP_CLIQUETABLE *cliquetable, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand) Definition: prob.c:1022 void SCIPprobAddObjoffset(SCIP_PROB *prob, SCIP_Real addval) Definition: prob.c:1383 SCIP_RETCODE SCIPprobAddVarName(SCIP_PROB *prob, SCIP_VAR *var) Definition: prob.c:862 void SCIPprobUpdateDualbound(SCIP_PROB *prob, SCIP_Real newbound) Definition: prob.c:1510 Definition: struct_lp.h:255 SCIP_RETCODE SCIPprobExitSolve(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_LP *lp, SCIP_Bool restart) Definition: prob.c:1823 Definition: struct_implics.h:86 SCIP_RETCODE SCIPprobDelCons(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_CONS *cons) Definition: prob.c:1297 Definition: struct_stat.h:44 Definition: struct_tree.h:165 void SCIPprobSetObjsense(SCIP_PROB *prob, SCIP_OBJSENSE objsense) Definition: prob.c:1370 type definitions for collecting primal CIP solutions and primal informations common defines and data types used in all packages of SCIP Definition: struct_event.h:204 Definition: struct_branch.h:36 SCIP_Real SCIPprobInternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval) Definition: prob.c:1975 SCIP_RETCODE SCIPprobCheckObjIntegral(SCIP_PROB *transprob, SCIP_PROB *origprob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_EVENTQUEUE *eventqueue) Definition: prob.c:1430 type definitions for constraints and constraint handlers SCIP_RETCODE SCIPprobTransform(SCIP_PROB *source, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_REOPT *reopt, SCIP_LP *lp, SCIP_BRANCHCAND *branchcand, SCIP_EVENTFILTER *eventfilter, SCIP_EVENTQUEUE *eventqueue, SCIP_PROB **target) Definition: prob.c:486 memory allocation routines |