|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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
539 /** returns TRUE iff all columns, i.e. every variable with non-empty column w.r.t. all ever created rows, are present
540 * in the LP, and FALSE, if there are additional already existing columns, that may be added to the LP in pricing
618 /* In optimized mode, the methods are implemented as defines to reduce the number of function calls and
624 #define SCIPprobAllColsInLP(prob,set,lp) (SCIPlpGetNCols(lp) == (prob)->ncolvars && (set)->nactivepricers == 0)
626 ((prob)->objlim >= SCIP_INVALID ? (SCIP_Real)((prob)->objsense) * SCIPsetInfinity(set) : (prob)->objlim)
SCIP_RETCODE SCIPprobRemoveVarName(SCIP_PROB *prob, SCIP_VAR *var) Definition: prob.c:874 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:371 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:1089 void SCIPprobSetInitsol(SCIP_PROB *prob, SCIP_DECL_PROBINITSOL((*probinitsol))) Definition: prob.c:360 void SCIPprobSetTrans(SCIP_PROB *prob, SCIP_DECL_PROBTRANS((*probtrans))) Definition: prob.c:338 Definition: struct_var.h:196 SCIP_RETCODE SCIPprobAddConsName(SCIP_PROB *prob, SCIP_CONS *cons) Definition: prob.c:1193 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:1657 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:1489 void SCIPprobPrintStatistics(SCIP_PROB *prob, SCIP_MESSAGEHDLR *messagehdlr, FILE *file) Definition: prob.c:2053 type definitions for collecting reoptimization information void SCIPprobSetDelorig(SCIP_PROB *prob, SCIP_DECL_PROBDELORIG((*probdelorig))) Definition: prob.c:327 void SCIPprobPrintPseudoSol(SCIP_PROB *prob, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr) Definition: prob.c:2031 type definitions for branching rules type definitions for problem statistics void SCIPprobSetCopy(SCIP_PROB *prob, SCIP_DECL_PROBCOPY((*probcopy))) Definition: prob.c:382 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:55 SCIP_Real SCIPprobExternObjval(SCIP_PROB *transprob, SCIP_PROB *origprob, SCIP_SET *set, SCIP_Real objval) Definition: prob.c:1949 Definition: struct_misc.h:101 SCIP_CONS * SCIPprobFindCons(SCIP_PROB *prob, const char *name) Definition: prob.c:2012 SCIP_RETCODE SCIPprobSetName(SCIP_PROB *prob, const char *name) Definition: prob.c:1869 SCIP_RETCODE SCIPprobDelVar(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_EVENTQUEUE *eventqueue, SCIP_VAR *var, SCIP_Bool *deleted) Definition: prob.c:957 void SCIPprobSetDeltrans(SCIP_PROB *prob, SCIP_DECL_PROBDELTRANS((*probdeltrans))) Definition: prob.c:349 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:889 void SCIPprobSetDualbound(SCIP_PROB *prob, SCIP_Real dualbound) Definition: prob.c:1392 SCIP_RETCODE SCIPprobResetBounds(SCIP_PROB *prob, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat) Definition: prob.c:579 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:1533 type definitions for problem variables void SCIPprobUpdateBestRootSol(SCIP_PROB *prob, SCIP_SET *set, SCIP_STAT *stat, SCIP_LP *lp) Definition: prob.c:1680 SCIP_RETCODE SCIPprobRemoveConsName(SCIP_PROB *prob, SCIP_CONS *cons) Definition: prob.c:1208 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:1135 SCIP_RETCODE SCIPprobInitSolve(SCIP_PROB *prob, SCIP_SET *set) Definition: prob.c:1784 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:393 SCIP_RETCODE SCIPprobExitPresolve(SCIP_PROB *prob, SCIP_SET *set) Definition: prob.c:1775 SCIP_Bool SCIPprobAllColsInLP(SCIP_PROB *prob, SCIP_SET *set, SCIP_LP *lp) Definition: prob.c:2114 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:1226 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:1018 void SCIPprobAddObjoffset(SCIP_PROB *prob, SCIP_Real addval) Definition: prob.c:1379 SCIP_RETCODE SCIPprobAddVarName(SCIP_PROB *prob, SCIP_VAR *var) Definition: prob.c:858 void SCIPprobUpdateDualbound(SCIP_PROB *prob, SCIP_Real newbound) Definition: prob.c:1506 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:1819 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:1293 Definition: struct_stat.h:44 Definition: struct_tree.h:165 void SCIPprobSetObjsense(SCIP_PROB *prob, SCIP_OBJSENSE objsense) Definition: prob.c:1366 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:1971 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:1426 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:485 memory allocation routines |