SCIP_ConshdlrData
84#define assertSmallViolation(lb, val, ub) (assert((val) >= (lb) - 0.5 && (val) <= (ub) + 0.5)); 107assert(var !=
NULL);
108assert(success !=
NULL);
109assert(cutoff !=
NULL);
148assert(conshdlr !=
NULL);
169assert(conshdlrdata !=
NULL);
170assert(conshdlrdata->vars ==
NULL);
188assert(conshdlrdata !=
NULL);
189assert(conshdlrdata->vars ==
NULL);
190assert(conshdlrdata->varssize == 0);
191assert(conshdlrdata->nvars == 0);
193 if( !conshdlrdata->enabled )
208 for( i = 0; i < nvars; ++i )
228assert(conshdlrdata->nvars < conshdlrdata->varssize);
229conshdlrdata->vars[conshdlrdata->nvars++] = vars[i];
243assert(conshdlrdata !=
NULL);
246conshdlrdata->varssize = 0;
247conshdlrdata->nvars = 0;
261assert(result !=
NULL);
266assert(conshdlrdata !=
NULL);
271 for( i = 0; i < conshdlrdata->nvars; ++i )
278var = conshdlrdata->vars[i];
279assert(var !=
NULL);
287 if( !solinfeasible )
336 SCIPwarningMessage(
scip,
"Declaring solution with violated bound in original problem as feasible because attempts to enforce the bound have failed. We are very sorry.\n");
352assert(result !=
NULL);
357assert(conshdlrdata !=
NULL);
359 for( i = 0; i < conshdlrdata->nvars; ++i )
366var = conshdlrdata->vars[i];
367assert(var !=
NULL);
378 if( !solinfeasible )
412assert(result !=
NULL);
423assert(conshdlrdata !=
NULL);
425 for( i = 0; i < conshdlrdata->nvars; ++i )
432var = conshdlrdata->vars[i];
433assert(var !=
NULL);
463assert(result !=
NULL);
468assert(conshdlrdata !=
NULL);
470 if( !conshdlrdata->enabled )
480nvars = conshdlrdata->nvars;
481vars = conshdlrdata->vars;
488assert(vars !=
NULL|| nvars == 0);
490 for( i = 0; i < nvars; ++i )
511 SCIPdebugMsg(
scip,
"lower bound of <%s> [%g,%g] violated, solution value <%g>\n",
516 SCIPinfoMessage(
scip,
NULL,
"solution violates lower bound of fixed variable <%s> [%g,%g], solution value <%g>\n",
531 SCIPdebugMsg(
scip,
"upper bound of <%s> [%g,%g] violated, solution value <%g>\n",
536 SCIPinfoMessage(
scip,
NULL,
"solution violates upper bound of fixed variable <%s> [%g,%g], solution value <%g>\n",
580consEnfolpFixedvar, consEnfopsFixedvar, consCheckFixedvar, consLockFixedvar,
582assert(conshdlr !=
NULL);
593 "whether to check and enforce bounds on fixed variables",
597 "whether to act on subSCIPs",
601 "whether to prefer separation over tightening LP feastol in enforcement",
#define CONSHDLR_NEEDSCONS
static SCIP_DECL_CONSCHECK(consCheckFixedvar)
#define CONSHDLR_CHECKPRIORITY
static SCIP_DECL_CONSENFORELAX(consEnforelaxFixedvar)
static SCIP_DECL_CONSINITSOL(consInitsolFixedvar)
#define assertSmallViolation(lb, val, ub)
static SCIP_RETCODE addCut(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_SOL *sol, SCIP_VAR *var, SCIP_Bool *success, SCIP_Bool *cutoff)
static SCIP_DECL_CONSENFOPS(consEnfopsFixedvar)
static SCIP_DECL_CONSEXITSOL(consExitsolFixedvar)
static SCIP_DECL_CONSLOCK(consLockFixedvar)
#define DEFAULT_PREFERCUT
static SCIP_DECL_CONSFREE(consFreeFixedvar)
static SCIP_DECL_CONSHDLRCOPY(conshdlrCopyFixedvar)
static SCIP_DECL_CONSENFOLP(consEnfolpFixedvar)
#define CONSHDLR_EAGERFREQ
#define CONSHDLR_ENFOPRIORITY
constraint handler that checks bounds on fixed variables
SCIP_RETCODE SCIPincludeConshdlrFixedvar(SCIP *scip)
SCIP_STAGE SCIPgetStage(SCIP *scip)
SCIP_VAR ** SCIPgetOrigVars(SCIP *scip)
int SCIPgetNOrigVars(SCIP *scip)
int SCIPgetNFixedVars(SCIP *scip)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
void SCIPwarningMessage(SCIP *scip, const char *formatstr,...)
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)
void SCIPconshdlrSetData(SCIP_CONSHDLR *conshdlr, SCIP_CONSHDLRDATA *conshdlrdata)
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)
SCIP_RETCODE SCIPsetConshdlrFree(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSFREE((*consfree)))
SCIP_RETCODE SCIPsetConshdlrEnforelax(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSENFORELAX((*consenforelax)))
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
SCIP_RETCODE SCIPsetConshdlrCopy(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSHDLRCOPY((*conshdlrcopy)), SCIP_DECL_CONSCOPY((*conscopy)))
SCIP_RETCODE SCIPsetConshdlrExitsol(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSEXITSOL((*consexitsol)))
SCIP_RETCODE SCIPsetConshdlrInitsol(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_DECL_CONSINITSOL((*consinitsol)))
SCIP_CONSHDLRDATA * SCIPconshdlrGetData(SCIP_CONSHDLR *conshdlr)
SCIP_RETCODE SCIPaddRow(SCIP *scip, SCIP_ROW *row, SCIP_Bool forcecut, SCIP_Bool *infeasible)
void SCIPsetLPFeastol(SCIP *scip, SCIP_Real newfeastol)
SCIP_Real SCIPgetLPFeastol(SCIP *scip)
#define SCIPallocClearBlockMemory(scip, ptr)
#define SCIPallocBlockMemoryArray(scip, ptr, num)
#define SCIPfreeBlockMemory(scip, ptr)
#define SCIPfreeBlockMemoryArrayNull(scip, ptr, num)
SCIP_RETCODE SCIPcreateEmptyRowConshdlr(SCIP *scip, SCIP_ROW **row, SCIP_CONSHDLR *conshdlr, const char *name, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool removable)
SCIP_RETCODE SCIPaddVarToRow(SCIP *scip, SCIP_ROW *row, SCIP_VAR *var, SCIP_Real val)
SCIP_RETCODE SCIPprintRow(SCIP *scip, SCIP_ROW *row, FILE *file)
SCIP_Real SCIPgetRowSolFeasibility(SCIP *scip, SCIP_ROW *row, SCIP_SOL *sol)
SCIP_RETCODE SCIPreleaseRow(SCIP *scip, SCIP_ROW **row)
SCIP_Real SCIPgetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var)
SCIP_Bool SCIPisPositive(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisFeasLT(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisFeasNegative(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisFeasGT(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPepsilon(SCIP *scip)
SCIP_Bool SCIPvarIsActive(SCIP_VAR *var)
SCIP_Real SCIPvarGetLbOriginal(SCIP_VAR *var)
SCIP_Real SCIPvarGetUbGlobal(SCIP_VAR *var)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_Real SCIPvarGetUbOriginal(SCIP_VAR *var)
SCIP_Real SCIPvarGetLbGlobal(SCIP_VAR *var)
SCIP_RETCODE SCIPgetTransformedVar(SCIP *scip, SCIP_VAR *var, SCIP_VAR **transvar)
int SCIPsnprintf(char *t, int len, const char *s,...)
struct SCIP_ConshdlrData SCIP_CONSHDLRDATA
enum SCIP_Retcode SCIP_RETCODE
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4