cons_countsols.c
Go to the documentation of this file.
21 * If this constraint handler is activated than it counts or collects all feasible solutions. We refer to \ref COUNTER for 24 * @todo In the last round of presolving we should check if variables exist, which have up and down lock one. In that 25 * case we know that these locks are coming from this constraint handler. Therefore, they are totally free and can 26 * be ignored in the branch and bound process. To get this result we have to store these variables in the 27 * constraint handler data structure (to remember this free dimensions) and fix them to any feasible value. 30 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 54 #define CONSHDLR_ENFOPRIORITY -9999999 /**< priority of the constraint handler for constraint enforcing */ 55 #define CONSHDLR_CHECKPRIORITY -9999999 /**< priority of the constraint handler for checking feasibility */ 56 #define CONSHDLR_EAGERFREQ 100 /**< frequency for using all instead of only the useful constraints in separation, 58 #define CONSHDLR_NEEDSCONS FALSE /**< should the constraint handler be skipped, if no constraints are available? */ 65 #define DEFAULT_SOLLIMIT -1LL /**< counting stops, if the given number of solutions were found (-1: no limit) */ 92 #define CUTOFF_CONSTRAINT(x) SCIP_RETCODE x (SCIP* scip, SCIP_SOL* sol, SCIP_CONSHDLRDATA* conshdlrdata) 109 SCIP_Longint sollimit; /**< counting stops, if the given number of solutions were found (-1: no limit) */ 118 SCIP_HASHMAP* hashmap; /**< hashmap to store position of active transformed problem variable in our vars array */ 397 /* need to disabled restarts, since collecting solutions won't work but also the captures for variables are not 412 /** creates and adds a constraints which cuts off the current solution from the feasibility region in the case there are 417 { 457 SCIP_CALL( SCIPcreateConsSetcover(scip, &cons, "Setcovering created by countsols", nvars, consvars, 471 /** creates and adds a bound disjunction constraints which cuts off the current solution from the feasibility region; if 472 * only binary variables are involved, then a set covering constraint is created which is a special case of a bound 477 { 585 SCIP_CALL( SCIPcreateConsSetcover(scip, &cons, "Setcovering created by countsols", nbinvars, consvars, 696 /* the result should be infeasible since we reject any solution; however, if the solution passes the sparse test the 748 /* get original variable to decide if we will count the domain; continuous variables aren't counted */ 764 /* the number of integers laying in the interval [lb,ub] is (ub - lb + 1); to make everything integral we 1107 SCIPdebugMessage("<%s> lb: %.15g\t ub: %.15g\n", SCIPvarGetName(var), SCIPvarGetLbLocal(var), SCIPvarGetUbLocal(var)); 1108 SCIPdebugMessage("<%s> lb: %.15g\t ub: %.15g\n", SCIPvarGetName(vbdvar), SCIPvarGetLbLocal(vbdvar), SCIPvarGetUbLocal(vbdvar)); 1209 SCIPdebugMessage("sparse solution is infeasible since the following constraint (and maybe more) is(/are) enabled\n"); 1243 /* the solution should not be found through a heuristic since in this case the informations of SCIP are not valid for 1247 /**@todo it might be not necessary to check this assert since we can check in general all solutions of feasibility 1248 * independently of the origin; however, the locally fixed technique does only work if the solution comes from 1249 * the branch and bound tree; in case the solution comes from a heuristic we should try to sequentially fix the 1250 * variables in the branch and bound tree and check after every fixing if all constraints are disabled; at the 1256 /* setting result to infeasible since we reject any solution; however, if the solution passes the sparse test or is 1257 * completely fixed the result is set to SCIP_CUTOFF which cuts off the subtree initialized through the current node 1275 SCIPvarGetName(var), SCIPvarGetLbLocal(var), SCIPvarGetUbLocal(var), SCIPvarGetLbGlobal(var), SCIPvarGetUbGlobal(var)); 1296 /* in case of continuous variables are present we explicitly cutoff the integer assignment since in case of 1323 SCIPdebugMessage("result is %s\n", *result == SCIP_INFEASIBLE ? "SCIP_INFEASIBLE" : "SCIP_CUTOFF" ); 1368 /** destructor of constraint handler to free constraint handler data (called when SCIP is exiting) */ 1446 if( strncmp(SCIPvarGetName(conshdlrdata->allvars[nallvars]), "t_andresultant_", strlen("t_andresultant_")) != 0 ) 1464 /** deinitialization method of constraint handler (called before transformed problem is freed) */ 1499 if( strncmp(SCIPvarGetName(conshdlrdata->allvars[v]), "t_andresultant_", strlen("t_andresultant_")) != 0 ) 1535 /** solving process initialization method of constraint handler (called when branch and bound process is about to begin) 1537 * This method is called when the presolving was finished and the branch and bound process is about to begin. 1571 /* get original variable to decide if we will count the domain; continuous variables aren't counted */ 1579 /* @todo we need to forbid variable downgrading, from integer type to implicit integer type, e.g. done in 1591 /* get original variable to decide if we will count the domain; continuous variables aren't counted */ 1601 /* store mapping from all active variables to their position afetr presolving because during solving new variables 1604 SCIP_CALL( SCIPhashmapCreate(&(conshdlrdata->hashmap), SCIPblkmem(scip), 5 * conshdlrdata->nvars + 1) ); 1610 SCIP_CALL( SCIPhashmapInsert(conshdlrdata->hashmap, conshdlrdata->vars[v], (void*) (size_t)(v+1)) ); 1624 /** solving process deinitialization method of constraint handler (called before branch and bound process data is freed) */ 1640 SCIPerrorMessage("When collecting and counting solutions restarts need to be disabled (presolving/maxrestarts = 0).\n"); 1742 SCIPwarningMessage(scip, "a solution comes in over <SCIP_DECL_CONSCHECK(consCheckCountsols)>; currently these solutions are ignored\n"); 1849 /* need to disabled restarts, since collecting solutions won't work but also the captures for variables are not 1890 "Problem contains continuous variables (after presolving). Counting projection to integral variables!\n"); 1948 SCIPdialogMessage(scip, NULL, " (%d non-trivial feasible subtrees)\n", SCIPgetNCountedFeasSubtrees(scip)); 2007 { 2037 SCIP_HASHMAP* hashmap, /**< hashmap from active solution variable to the position in the active 2102 SCIP_CALL( SCIPgetProbvarLinearSum(scip, vars, scalars, &nvars, nallvars, &constant, &requiredsize, TRUE) ); 2210 SCIPdialogMessage(scip, NULL, "no output, because of too many feasible solutions : %s\n", buffer); 2220 SCIPdialogMessage(scip, NULL, "there is no solution collect (set parameter <constraints/countsols/collect> to TRUE)\n"); 2288 /* sort original variables array and the corresponding transformed variables w.r.t. the problem index */ 2291 SCIPdialogMessage(scip, NULL, "saving %" SCIP_LONGINT_FORMAT " (%d) feasible solutions\n", nsols, nsparsesols); 2313 retcode = writeExpandedSolutions(scip, file, allvars, conshdlrdata->nallvars, conshdlrdata->vars, nvars, conshdlrdata->hashmap, sparsesols, nsparsesols); 2373 "countpresolve", "presolve instance before counting number of feasible solutions", FALSE, NULL) ); 2463 SCIPdispLongint(SCIPgetMessagehdlr(scip), file, SCIPgetNCountedFeasSubtrees(scip), DISP_CUTS_WIDTH); 2536 SCIP_CALL( SCIPincludeDisp(scip, DISP_SOLS_NAME, DISP_SOLS_DESC, DISP_SOLS_HEADER, SCIP_DISPSTATUS_OFF, 2539 SCIP_CALL( SCIPincludeDisp(scip, DISP_CUTS_NAME, DISP_CUTS_DESC, DISP_CUTS_HEADER, SCIP_DISPSTATUS_OFF, 2547 SCIP_CALL( SCIPincludeExternalCodeInformation(scip, gmpversion, "Multiple Precision Integers and Rationals Library developed by W. Hart (mpir.org)") ); 2551 SCIP_CALL( SCIPincludeExternalCodeInformation(scip, gmpversion, "GNU Multiple Precision Arithmetic Library developed by T. Granlund (gmplib.org)") ); 2600 /** returns number of feasible solutions found as SCIP_Longint; if the number does not fit into 2641 /* size must be by two larger than the length of the string, since there need to be storage for a sign and a 2683 * @note You get the pointer to the sparse solutions stored in the constraint handler (not a copy). 2685 * @note The sparse solutions are stored w.r.t. the active variables. This are the variables which got not removed 2686 * during presolving. For none active variables the value has to be computed depending on their aggregation
void SCIPdispLongint(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, SCIP_Longint val, int width) Definition: disp.c:509 SCIP_RETCODE SCIPincludeDisp(SCIP *scip, const char *name, const char *desc, const char *header, SCIP_DISPSTATUS dispstatus, SCIP_DECL_DISPCOPY((*dispcopy)), SCIP_DECL_DISPFREE((*dispfree)), SCIP_DECL_DISPINIT((*dispinit)), SCIP_DECL_DISPEXIT((*dispexit)), SCIP_DECL_DISPINITSOL((*dispinitsol)), SCIP_DECL_DISPEXITSOL((*dispexitsol)), SCIP_DECL_DISPOUTPUT((*dispoutput)), SCIP_DISPDATA *dispdata, int width, int priority, int position, SCIP_Bool stripline) Definition: scip.c:8518 SCIP_CONSHDLR * SCIPfindConshdlr(SCIP *scip, const char *name) Definition: scip.c:5878 Definition: type_result.h:37 int SCIPgetNVarsBounddisjunction(SCIP *scip, SCIP_CONS *cons) Definition: cons_bounddisjunction.c:3119 void SCIPgetCountedSparseSols(SCIP *scip, SCIP_VAR ***vars, int *nvars, SCIP_SPARSESOL ***sols, int *nsols) Definition: cons_countsols.c:2690 static SCIP_RETCODE checkBounddisjunction(SCIP *scip, SCIP_CONSHDLR *conshdlr, int nconss, SCIP_Bool *satisfied) Definition: cons_countsols.c:971 SCIP_RETCODE SCIPgetProbvarLinearSum(SCIP *scip, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize, SCIP_Bool mergemultiples) Definition: scip.c:17373 void SCIPsparseSolGetFirstSol(SCIP_SPARSESOL *sparsesol, SCIP_Longint *sol, int nvars) Definition: misc.c:618 Definition: struct_scip.h:53 Constraint handler for variable bound constraints . SCIP_RETCODE SCIPvarGetOrigvarSum(SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant) Definition: var.c:12033 void SCIPgetNCountedSolsstr(SCIP *scip, char **buffer, int buffersize, int *requiredsize) Definition: cons_countsols.c:2624 static SCIP_RETCODE checkKnapsack(SCIP *scip, SCIP_CONSHDLR *conshdlr, int nconss, SCIP_Bool *satisfied) Definition: cons_countsols.c:876 void SCIPwarningMessage(SCIP *scip, const char *formatstr,...) Definition: scip.c:1248 SCIP_Bool SCIPisFeasLT(SCIP *scip, SCIP_Real val1, SCIP_Real val2) Definition: scip.c:41920 SCIP_BOUNDTYPE * SCIPgetBoundtypesBounddisjunction(SCIP *scip, SCIP_CONS *cons) Definition: cons_bounddisjunction.c:3161 SCIP_CONS ** SCIPconshdlrGetConss(SCIP_CONSHDLR *conshdlr) Definition: cons.c:4258 void SCIPdialogMessage(SCIP *scip, FILE *file, const char *formatstr,...) Definition: scip.c:1264 SCIP_RETCODE SCIPsetParamsCountsols(SCIP *scip) Definition: cons_countsols.c:2717 Definition: type_set.h:35 SCIP_RETCODE SCIPsetConshdlrCopy(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy)), SCIP_DECL_CONSCOPY((*conscopy))) Definition: scip.c:5334 SCIP_Longint SCIPgetCapacityKnapsack(SCIP *scip, SCIP_CONS *cons) Definition: cons_knapsack.c:13238 Definition: struct_var.h:196 SCIP_Bool SCIPsparseSolGetNextSol(SCIP_SPARSESOL *sparsesol, SCIP_Longint *sol, int nvars) Definition: misc.c:641 Definition: struct_dialog.h:35 static void setPowerOfTwo(Int *value, SCIP_Longint exponent) Definition: cons_countsols.c:163 int SCIPconshdlrGetNActiveConss(SCIP_CONSHDLR *conshdlr) Definition: cons.c:4322 SCIP_RETCODE SCIPhashmapCreate(SCIP_HASHMAP **hashmap, BMS_BLKMEM *blkmem, int mapsize) Definition: misc.c:2057 SCIP_Longint SCIPgetNCountedSols(SCIP *scip, SCIP_Bool *valid) Definition: cons_countsols.c:2604 SCIP_RETCODE SCIPincludeExternalCodeInformation(SCIP *scip, const char *name, const char *description) Definition: scip.c:8711 SCIP_Real SCIPgetLhsVarbound(SCIP *scip, SCIP_CONS *cons) Definition: cons_varbound.c:4633 SCIP_Longint * SCIPgetWeightsKnapsack(SCIP *scip, SCIP_CONS *cons) Definition: cons_knapsack.c:13333 static SCIP_DECL_CONSENFOPS(consEnfopsCountsols) Definition: cons_countsols.c:1689 Definition: struct_misc.h:36 SCIP_RETCODE SCIPaddLongintParam(SCIP *scip, const char *name, const char *desc, SCIP_Longint *valueptr, SCIP_Bool isadvanced, SCIP_Longint defaultvalue, SCIP_Longint minvalue, SCIP_Longint maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata) Definition: scip.c:3601 SCIP_Real SCIPgetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var) Definition: scip.c:34983 Constraint handler for "and" constraints, . void * SCIPhashmapGetImage(SCIP_HASHMAP *hashmap, void *origin) Definition: misc.c:2116 Definition: type_message.h:46 Constraint handler for counting feasible solutions. Constraint handler for the set partitioning / packing / covering constraints . static void checkSolutionOrig(SCIP *scip, SCIP_SOL *sol, SCIP_CONSHDLRDATA *conshdlrdata) Definition: cons_countsols.c:326 SCIP_VAR ** SCIPgetVarsKnapsack(SCIP *scip, SCIP_CONS *cons) Definition: cons_knapsack.c:13312 static SCIP_RETCODE conshdlrdataCreate(SCIP *scip, SCIP_CONSHDLRDATA **conshdlrdata) Definition: cons_countsols.c:294 SCIP_RETCODE SCIPsetConshdlrFree(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSFREE((*consfree))) Definition: scip.c:5359 SCIP_RETCODE SCIPcreatePseudoSol(SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur) Definition: scip.c:34134 SCIP_RETCODE SCIPcheckSolOrig(SCIP *scip, SCIP_SOL *sol, SCIP_Bool *feasible, SCIP_Bool printreason, SCIP_Bool completely) Definition: scip.c:36470 Definition: struct_sol.h:50 SCIP_RETCODE SCIPsetConshdlrInit(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINIT((*consinit))) Definition: scip.c:5383 SCIP_RETCODE SCIPaddBoolParam(SCIP *scip, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata) Definition: scip.c:3547 SCIP_Bool SCIPhashmapExists(SCIP_HASHMAP *hashmap, void *origin) Definition: misc.c:2159 SCIP_CONSHDLRDATA * SCIPconshdlrGetData(SCIP_CONSHDLR *conshdlr) Definition: cons.c:3917 static SCIP_DECL_CONSHDLRCOPY(conshdlrCopyCountsols) Definition: cons_countsols.c:1342 static SCIP_DECL_CONSINITSOL(consInitsolCountsols) Definition: cons_countsols.c:1542 SCIP_RETCODE SCIPprintVar(SCIP *scip, SCIP_VAR *var, FILE *file) Definition: scip.c:24289 Definition: struct_misc.h:101 Constraint handler for knapsack constraints of the form , x binary and . static SCIP_DECL_CONSENFOLP(consEnfolpCountsols) Definition: cons_countsols.c:1651 SCIP_Longint * SCIPsparseSolGetLbs(SCIP_SPARSESOL *sparsesol) Definition: misc.c:598 SCIP_RETCODE SCIPgetTransformedVar(SCIP *scip, SCIP_VAR *var, SCIP_VAR **transvar) Definition: scip.c:17075 SCIP_DIALOG * SCIPdialoghdlrGetRoot(SCIP_DIALOGHDLR *dialoghdlr) Definition: dialog.c:425 Definition: struct_cons.h:36 int SCIPgetNVarsLogicor(SCIP *scip, SCIP_CONS *cons) Definition: cons_logicor.c:5228 Definition: struct_cons.h:116 Definition: type_retcode.h:42 SCIP_RETCODE SCIPaddDialogEntry(SCIP *scip, SCIP_DIALOG *dialog, SCIP_DIALOG *subdialog) Definition: scip.c:8910 Constraint handler for logicor constraints (equivalent to set covering, but algorithms are suited fo... Definition: type_lp.h:47 Definition: type_set.h:44 SCIP_RETCODE SCIPgetNegatedVar(SCIP *scip, SCIP_VAR *var, SCIP_VAR **negvar) Definition: scip.c:17163 Definition: type_result.h:36 SCIP_VAR ** SCIPgetVarsBounddisjunction(SCIP *scip, SCIP_CONS *cons) Definition: cons_bounddisjunction.c:3140 SCIP_Bool SCIPisFeasEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2) Definition: scip.c:41907 Definition: type_set.h:45 static SCIP_RETCODE checkLogicor(SCIP *scip, SCIP_CONSHDLR *conshdlr, int nconss, SCIP_Bool *satisfied) Definition: cons_countsols.c:803 SCIP_RETCODE SCIPgetPseudoBranchCands(SCIP *scip, SCIP_VAR ***pseudocands, int *npseudocands, int *npriopseudocands) Definition: scip.c:33464 static SCIP_RETCODE writeExpandedSolutions(SCIP *scip, FILE *file, SCIP_VAR **allvars, int nallvars, SCIP_VAR **activevars, int nactivevars, SCIP_HASHMAP *hashmap, SCIP_SPARSESOL **sols, int nsols) Definition: cons_countsols.c:2031 Definition: type_disp.h:46 void SCIPsortDownPtrPtr(void **ptrarray1, void **ptrarray2, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int len) Definition: type_set.h:41 Definition: type_retcode.h:33 Definition: type_set.h:46 static void toString(Int value, char **buffer, int buffersize) Definition: cons_countsols.c:239 SCIP_Real SCIPgetRhsVarbound(SCIP *scip, SCIP_CONS *cons) Definition: cons_varbound.c:4654 SCIP_RETCODE SCIPincludeConshdlrBasic(SCIP *scip, SCIP_CONSHDLR **conshdlrptr, const char *name, const char *desc, int enfopriority, int chckpriority, int eagerfreq, SCIP_Bool needscons, SCIP_DECL_CONSENFOLP((*consenfolp)), SCIP_DECL_CONSENFOPS((*consenfops)), SCIP_DECL_CONSCHECK((*conscheck)), SCIP_DECL_CONSLOCK((*conslock)), SCIP_CONSHDLRDATA *conshdlrdata) Definition: scip.c:5192 SCIP_RETCODE SCIPincludeConshdlrCountsols(SCIP *scip) Definition: cons_countsols.c:2560 SCIP_RETCODE SCIPdialoghdlrGetWord(SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG *dialog, const char *prompt, char **inputword, SCIP_Bool *endoffile) Definition: dialog.c:536 SCIP_Real SCIPgetVbdcoefVarbound(SCIP *scip, SCIP_CONS *cons) Definition: cons_varbound.c:4717 Definition: struct_heur.h:75 SCIP_RETCODE SCIPcreateConsBounddisjunction(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_BOUNDTYPE *boundtypes, SCIP_Real *bounds, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode) Definition: cons_bounddisjunction.c:3036 Definition: type_retcode.h:34 #define SCIPduplicateMemoryArray(scip, ptr, source, num) Definition: scip.h:20540 SCIP_RETCODE SCIPsetIntParam(SCIP *scip, const char *name, int value) Definition: scip.c:4001 SCIP_Longint * SCIPsparseSolGetUbs(SCIP_SPARSESOL *sparsesol) Definition: misc.c:608 SCIP_RETCODE SCIPsparseSolCreate(SCIP_SPARSESOL **sparsesol, SCIP_VAR **vars, int nvars, SCIP_Bool cleared) Definition: misc.c:512 static SCIP_RETCODE includeConshdlrCountsols(SCIP *scip, SCIP_Bool dialogs) Definition: cons_countsols.c:2476 Definition: type_set.h:38 Definition: type_set.h:39 SCIP_VAR * SCIPgetVbdvarVarbound(SCIP *scip, SCIP_CONS *cons) Definition: cons_varbound.c:4696 Definition: type_set.h:43 SCIP_DECL_DIALOGEXEC(SCIPdialogExecCountPresolve) Definition: cons_countsols.c:1769 Definition: type_set.h:40 static SCIP_DECL_SORTPTRCOMP(varCompProbindex) Definition: cons_countsols.c:2007 SCIP_Bool SCIPdialogHasEntry(SCIP_DIALOG *dialog, const char *entryname) Definition: dialog.c:970 void SCIPverbMessage(SCIP *scip, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr,...) Definition: scip.c:1298 SCIP_RETCODE SCIPincludeDialog(SCIP *scip, SCIP_DIALOG **dialog, SCIP_DECL_DIALOGCOPY((*dialogcopy)), SCIP_DECL_DIALOGEXEC((*dialogexec)), SCIP_DECL_DIALOGDESC((*dialogdesc)), SCIP_DECL_DIALOGFREE((*dialogfree)), const char *name, const char *desc, SCIP_Bool issubmenu, SCIP_DIALOGDATA *dialogdata) Definition: scip.c:8798 SCIP_Longint SCIPconvertRealToLongint(SCIP *scip, SCIP_Real real) Definition: scip.c:42431 Definition: type_set.h:37 Definition: type_set.h:34 SCIP_RETCODE SCIPsetConshdlrInitsol(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINITSOL((*consinitsol))) Definition: scip.c:5431 Definition: type_set.h:33 void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...) Definition: scip.c:1281 SCIP_VAR ** SCIPgetVarsLogicor(SCIP *scip, SCIP_CONS *cons) Definition: cons_logicor.c:5249 Definition: type_paramset.h:68 Definition: type_lp.h:48 int SCIPgetNVarsKnapsack(SCIP *scip, SCIP_CONS *cons) Definition: cons_knapsack.c:13291 static SCIP_DECL_CONSEXITSOL(consExitsolCountsols) Definition: cons_countsols.c:1627 #define SCIPduplicateBufferArray(scip, ptr, source, num) Definition: scip.h:20593 SCIP_RETCODE SCIPsetConshdlrExitsol(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSEXITSOL((*consexitsol))) Definition: scip.c:5455 SCIP_RETCODE SCIPdialoghdlrAddHistory(SCIP_DIALOGHDLR *dialoghdlr, SCIP_DIALOG *dialog, const char *command, SCIP_Bool escapecommand) Definition: dialog.c:711 SCIP_Bool SCIPisFeasLE(SCIP *scip, SCIP_Real val1, SCIP_Real val2) Definition: scip.c:41933 SCIP_RETCODE SCIPreleaseDialog(SCIP *scip, SCIP_DIALOG **dialog) Definition: scip.c:8863 default user interface dialog int SCIPdialogFindEntry(SCIP_DIALOG *dialog, const char *entryname, SCIP_DIALOG **subdialog) Definition: dialog.c:1003 SCIP_RETCODE SCIPcreateConsSetcover(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode) Definition: cons_setppc.c:9007 SCIP_RETCODE SCIPcreateLPSol(SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur) Definition: scip.c:34044 SCIP_Bool SCIPisFeasGE(SCIP *scip, SCIP_Real val1, SCIP_Real val2) Definition: scip.c:41959 Definition: type_retcode.h:45 static SCIP_RETCODE countSparseSol(SCIP *scip, SCIP_SOL *sol, SCIP_Bool feasible, SCIP_CONSHDLRDATA *conshdlrdata, SCIP_RESULT *result) Definition: cons_countsols.c:684 SCIP_RETCODE SCIPgetIntParam(SCIP *scip, const char *name, int *value) Definition: scip.c:3759 Definition: type_set.h:42 SCIP_RETCODE SCIPsetEmphasis(SCIP *scip, SCIP_PARAMEMPHASIS paramemphasis, SCIP_Bool quiet) Definition: scip.c:4360 SCIP_RETCODE SCIPsetConshdlrExit(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSEXIT((*consexit))) Definition: scip.c:5407 SCIP_RETCODE SCIPaddVarLocks(SCIP *scip, SCIP_VAR *var, int nlocksdown, int nlocksup) Definition: scip.c:19399 void SCIPdialoghdlrClearBuffer(SCIP_DIALOGHDLR *dialoghdlr) Definition: dialog.c:435 SCIP_RETCODE SCIPsetBoolParam(SCIP *scip, const char *name, SCIP_Bool value) Definition: scip.c:3938 static SCIP_RETCODE collectSolution(SCIP *scip, SCIP_CONSHDLRDATA *conshdlrdata, SCIP_SOL *sol) Definition: cons_countsols.c:610 SCIP_RETCODE SCIPincludeDialogDefault(SCIP *scip) Definition: dialog_default.c:3245 SCIP_RETCODE SCIPhashmapInsert(SCIP_HASHMAP *hashmap, void *origin, void *image) Definition: misc.c:2094 SCIP_Longint SCIPgetNCountedFeasSubtrees(SCIP *scip) Definition: cons_countsols.c:2662 static SCIP_RETCODE checkVarbound(SCIP *scip, SCIP_CONSHDLR *conshdlr, int nconss, SCIP_Bool *satisfied) Definition: cons_countsols.c:1049 constraint handler for bound disjunction constraints Definition: objbranchrule.h:33 SCIP_VAR * SCIPgetVarVarbound(SCIP *scip, SCIP_CONS *cons) Definition: cons_varbound.c:4675 int SCIPconshdlrGetNEnabledConss(SCIP_CONSHDLR *conshdlr) Definition: cons.c:4332 SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value) Definition: scip.c:3740 static SCIP_RETCODE checkSolution(SCIP *scip, SCIP_SOL *sol, SCIP_CONSHDLRDATA *conshdlrdata, SCIP_RESULT *result) Definition: cons_countsols.c:1226 Definition: type_set.h:36 void SCIPconshdlrSetData(SCIP_CONSHDLR *conshdlr, SCIP_CONSHDLRDATA *conshdlrdata) Definition: cons.c:3927 Definition: type_result.h:39 SCIP_Real * SCIPgetBoundsBounddisjunction(SCIP *scip, SCIP_CONS *cons) Definition: cons_bounddisjunction.c:3182 static SCIP_Longint getNCountedSols(Int value, SCIP_Bool *valid) Definition: cons_countsols.c:255 static SCIP_RETCODE checkFeasSubtree(SCIP *scip, SCIP_SOL *sol, SCIP_Bool *feasible) Definition: cons_countsols.c:1125 Definition: type_var.h:56 |