cons_knapsack.h
Go to the documentation of this file.
18 * @brief Constraint handler for knapsack constraints of the form \f$a^T x \le b\f$, x binary and \f$a \ge 0\f$. 23 * This constraint handler handles a special type of linear constraints, namely knapsack constraints. 28 * with non-negative integer coefficients \f$a_i\f$, integer right-hand side \f$b\f$, and binary variables \f$x_i\f$. 31 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/ 50 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons() 81 SCIP_Bool stickingatnode /**< should the constraint always be kept at the node where it was added, even 87 * in its most basic version, i. e., all constraint flags are set to their basic value as explained for the 88 * method SCIPcreateConsKnapsack(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h 92 * @note the constraint gets captured, hence at one point you have to release it using the method SCIPreleaseCons() 139 /** gets the array of variables in the knapsack constraint; the user must not modify this array! */ 146 /** gets the array of weights in the knapsack constraint; the user must not modify this array! */ 167 /** returns the linear relaxation of the given knapsack constraint; may return NULL if no LP row was yet created; 192 SCIP_Bool* success /**< pointer to store if an error occured during solving (normally a memory problem) */ 195 /** solves knapsack problem in maximization form approximately by solving the LP-relaxation of the problem using Dantzig's 196 * method and rounding down the solution; if needed, one can provide arrays to store all selected items and all not 230 /* relaxes given general linear constraint into a knapsack constraint and separates lifted knapsack cover inequalities */ 238 SCIP_Real* knapvals, /**< coefficients of the variables in the continuous knapsack constraint */ 239 SCIP_Real valscale, /**< -1.0 if lhs of row is used as rhs of c. k. constraint, +1.0 otherwise */ SCIP_Longint * SCIPgetWeightsKnapsack(SCIP *scip, SCIP_CONS *cons) SCIP_RETCODE SCIPseparateRelaxedKnapsack(SCIP *scip, SCIP_CONS *cons, SCIP_SEPA *sepa, int nknapvars, SCIP_VAR **knapvars, SCIP_Real *knapvals, SCIP_Real valscale, SCIP_Real rhs, SCIP_SOL *sol, SCIP_Bool *cutoff, int *ncuts) SCIP_RETCODE SCIPcreateConsBasicKnapsack(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_Longint *weights, SCIP_Longint capacity) SCIP_RETCODE SCIPsolveKnapsackApproximately(SCIP *scip, int nitems, SCIP_Longint *weights, SCIP_Real *profits, SCIP_Longint capacity, int *items, int *solitems, int *nonsolitems, int *nsolitems, int *nnonsolitems, SCIP_Real *solval) SCIP_RETCODE SCIPincludeConshdlrKnapsack(SCIP *scip) SCIP_RETCODE SCIPcreateConsKnapsack(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_Longint *weights, SCIP_Longint capacity, 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) SCIP_RETCODE SCIPseparateKnapsackCuts(SCIP *scip, SCIP_CONS *cons, SCIP_SEPA *sepa, SCIP_VAR **vars, int nvars, SCIP_Longint *weights, SCIP_Longint capacity, SCIP_SOL *sol, SCIP_Bool usegubs, SCIP_Bool *cutoff, int *ncuts) SCIP_VAR ** SCIPgetVarsKnapsack(SCIP *scip, SCIP_CONS *cons) SCIP_Real SCIPgetDualsolKnapsack(SCIP *scip, SCIP_CONS *cons) SCIP_RETCODE SCIPaddCoefKnapsack(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_Longint weight) SCIP_RETCODE SCIPchgCapacityKnapsack(SCIP *scip, SCIP_CONS *cons, SCIP_Longint capacity) SCIP_RETCODE SCIPsolveKnapsackExactly(SCIP *scip, int nitems, SCIP_Longint *weights, SCIP_Real *profits, SCIP_Longint capacity, int *items, int *solitems, int *nonsolitems, int *nsolitems, int *nnonsolitems, SCIP_Real *solval, SCIP_Bool *success) SCIP_ROW * SCIPgetRowKnapsack(SCIP *scip, SCIP_CONS *cons) int SCIPgetNVarsKnapsack(SCIP *scip, SCIP_CONS *cons) Definition: objbranchrule.h:33 SCIP_Real SCIPgetDualfarkasKnapsack(SCIP *scip, SCIP_CONS *cons) SCIP_Longint SCIPgetCapacityKnapsack(SCIP *scip, SCIP_CONS *cons) SCIP callable library. |