Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods for the creation and interaction with rows of the NLP relaxation

Functions

SCIP_RETCODE SCIPnlrowCreate (SCIP_NLROW **nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, const char *name, SCIP_Real constant, int nlinvars, SCIP_VAR **linvars, SCIP_Real *lincoefs, SCIP_EXPR *expr, SCIP_Real lhs, SCIP_Real rhs, SCIP_EXPRCURV curvature)
 
SCIP_RETCODE SCIPnlrowCreateCopy (SCIP_NLROW **nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_NLROW *sourcenlrow)
 
SCIP_RETCODE SCIPnlrowCreateFromRow (SCIP_NLROW **nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_ROW *row)
 
SCIP_RETCODE SCIPnlrowPrint (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_MESSAGEHDLR *messagehdlr, FILE *file)
 
void SCIPnlrowCapture (SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPnlrowRelease (SCIP_NLROW **nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat)
 
SCIP_RETCODE SCIPnlrowEnsureLinearSize (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, int num)
 
SCIP_RETCODE SCIPnlrowAddLinearCoef (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_NLP *nlp, SCIP_VAR *var, SCIP_Real val)
 
SCIP_RETCODE SCIPnlrowDelLinearCoef (SCIP_NLROW *nlrow, SCIP_SET *set, SCIP_STAT *stat, SCIP_NLP *nlp, SCIP_VAR *var)
 
SCIP_RETCODE SCIPnlrowChgLinearCoef (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_NLP *nlp, SCIP_VAR *var, SCIP_Real coef)
 
SCIP_RETCODE SCIPnlrowChgExpr (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_NLP *nlp, SCIP_EXPR *expr)
 
SCIP_RETCODE SCIPnlrowChgConstant (SCIP_NLROW *nlrow, SCIP_SET *set, SCIP_STAT *stat, SCIP_NLP *nlp, SCIP_Real constant)
 
SCIP_RETCODE SCIPnlrowChgLhs (SCIP_NLROW *nlrow, SCIP_SET *set, SCIP_STAT *stat, SCIP_NLP *nlp, SCIP_Real lhs)
 
SCIP_RETCODE SCIPnlrowChgRhs (SCIP_NLROW *nlrow, SCIP_SET *set, SCIP_STAT *stat, SCIP_NLP *nlp, SCIP_Real rhs)
 
void SCIPnlrowSetCurvature (SCIP_NLP *nlp, SCIP_SET *set, SCIP_NLROW *nlrow, SCIP_EXPRCURV curvature)
 
SCIP_RETCODE SCIPnlrowSimplify (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_NLP *nlp)
 
SCIP_RETCODE SCIPnlrowRecalcNLPActivity (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_NLP *nlp)
 
SCIP_RETCODE SCIPnlrowGetNLPActivity (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_NLP *nlp, SCIP_Real *activity)
 
SCIP_RETCODE SCIPnlrowGetNLPFeasibility (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_NLP *nlp, SCIP_Real *feasibility)
 
SCIP_RETCODE SCIPnlrowRecalcPseudoActivity (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_LP *lp)
 
SCIP_RETCODE SCIPnlrowGetPseudoActivity (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_LP *lp, SCIP_Real *pseudoactivity)
 
SCIP_RETCODE SCIPnlrowGetPseudoFeasibility (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_PROB *prob, SCIP_PRIMAL *primal, SCIP_TREE *tree, SCIP_LP *lp, SCIP_Real *pseudofeasibility)
 
SCIP_RETCODE SCIPnlrowGetSolActivity (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_SOL *sol, SCIP_Real *activity)
 
SCIP_RETCODE SCIPnlrowGetSolFeasibility (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_SOL *sol, SCIP_Real *feasibility)
 
SCIP_RETCODE SCIPnlrowGetActivityBounds (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_Real *minactivity, SCIP_Real *maxactivity)
 
SCIP_RETCODE SCIPnlrowIsRedundant (SCIP_NLROW *nlrow, BMS_BLKMEM *blkmem, SCIP_SET *set, SCIP_STAT *stat, SCIP_Bool *isredundant)
 
SCIP_Real SCIPnlrowGetConstant (SCIP_NLROW *nlrow)
 
int SCIPnlrowGetNLinearVars (SCIP_NLROW *nlrow)
 
SCIP_VAR ** SCIPnlrowGetLinearVars (SCIP_NLROW *nlrow)
 
SCIP_RealSCIPnlrowGetLinearCoefs (SCIP_NLROW *nlrow)
 
SCIP_EXPRSCIPnlrowGetExpr (SCIP_NLROW *nlrow)
 
SCIP_Real SCIPnlrowGetLhs (SCIP_NLROW *nlrow)
 
SCIP_Real SCIPnlrowGetRhs (SCIP_NLROW *nlrow)
 
SCIP_EXPRCURV SCIPnlrowGetCurvature (SCIP_NLROW *nlrow)
 
const char * SCIPnlrowGetName (SCIP_NLROW *nlrow)
 
int SCIPnlrowGetNLPPos (SCIP_NLROW *nlrow)
 
SCIP_Bool SCIPnlrowIsInNLP (SCIP_NLROW *nlrow)
 
SCIP_Real SCIPnlrowGetDualsol (SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPcreateNlRow (SCIP *scip, SCIP_NLROW **nlrow, const char *name, SCIP_Real constant, int nlinvars, SCIP_VAR **linvars, SCIP_Real *lincoefs, SCIP_EXPR *expr, SCIP_Real lhs, SCIP_Real rhs, SCIP_EXPRCURV curvature)
 
SCIP_RETCODE SCIPcreateEmptyNlRow (SCIP *scip, SCIP_NLROW **nlrow, const char *name, SCIP_Real lhs, SCIP_Real rhs)
 
SCIP_RETCODE SCIPcreateNlRowFromRow (SCIP *scip, SCIP_NLROW **nlrow, SCIP_ROW *row)
 
SCIP_RETCODE SCIPcaptureNlRow (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPreleaseNlRow (SCIP *scip, SCIP_NLROW **nlrow)
 
SCIP_RETCODE SCIPchgNlRowLhs (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real lhs)
 
SCIP_RETCODE SCIPchgNlRowRhs (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real rhs)
 
SCIP_RETCODE SCIPchgNlRowConstant (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real constant)
 
void SCIPsetNlRowCurvature (SCIP *scip, SCIP_NLROW *nlrow, SCIP_EXPRCURV curvature)
 
SCIP_RETCODE SCIPaddLinearCoefToNlRow (SCIP *scip, SCIP_NLROW *nlrow, SCIP_VAR *var, SCIP_Real val)
 
SCIP_RETCODE SCIPaddLinearCoefsToNlRow (SCIP *scip, SCIP_NLROW *nlrow, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_RETCODE SCIPchgNlRowLinearCoef (SCIP *scip, SCIP_NLROW *nlrow, SCIP_VAR *var, SCIP_Real coef)
 
SCIP_RETCODE SCIPsetNlRowExpr (SCIP *scip, SCIP_NLROW *nlrow, SCIP_EXPR *expr)
 
SCIP_RETCODE SCIPrecalcNlRowNLPActivity (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPgetNlRowNLPActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *activity)
 
SCIP_RETCODE SCIPgetNlRowNLPFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *feasibility)
 
SCIP_RETCODE SCIPrecalcNlRowPseudoActivity (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPgetNlRowPseudoActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *pseudoactivity)
 
SCIP_RETCODE SCIPgetNlRowPseudoFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *pseudofeasibility)
 
SCIP_RETCODE SCIPrecalcNlRowActivity (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_RETCODE SCIPgetNlRowActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *activity)
 
SCIP_RETCODE SCIPgetNlRowFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *feasibility)
 
SCIP_RETCODE SCIPgetNlRowSolActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_SOL *sol, SCIP_Real *activity)
 
SCIP_RETCODE SCIPgetNlRowSolFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_SOL *sol, SCIP_Real *feasibility)
 
SCIP_RETCODE SCIPgetNlRowActivityBounds (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *minactivity, SCIP_Real *maxactivity)
 
SCIP_RETCODE SCIPprintNlRow (SCIP *scip, SCIP_NLROW *nlrow, FILE *file)
 

Function Documentation

◆ SCIPnlrowCreate()

SCIP_RETCODE SCIPnlrowCreate ( SCIP_NLROW **  nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
const char *  name,
SCIP_Real  constant,
int  nlinvars,
SCIP_VAR **  linvars,
SCIP_Real lincoefs,
SCIP_EXPR expr,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_EXPRCURV  curvature 
)

create a new nonlinear row

the new row is already captured

Parameters
nlrowbuffer to store pointer to nonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
namename of nonlinear row
constantconstant
nlinvarsnumber of linear variables
linvarslinear variables, or NULL if nlinvars == 0
lincoefslinear coefficients, or NULL if nlinvars == 0
exprexpression, or NULL
lhsleft hand side
rhsright hand side
curvaturecurvature of the nonlinear row

Definition at line 895 of file nlp.c.

References ABS, BMSallocBlockMemory, BMSduplicateBlockMemoryArray, FALSE, MAX, MIN, NULL, REALABS, SCIP_ALLOC, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPexprCopy(), SCIPnlrowCapture(), SCIPsetIsInfinity(), SCIPsetIsRelLE(), and TRUE.

Referenced by SCIPcreateEmptyNlRow(), SCIPcreateNlRow(), SCIPnlpChgVarObjDive(), SCIPnlrowCreateCopy(), and SCIPnlrowCreateFromRow().

◆ SCIPnlrowCreateCopy()

SCIP_RETCODE SCIPnlrowCreateCopy ( SCIP_NLROW **  nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_NLROW sourcenlrow 
)

create a nonlinear row that is a copy of a given row

the new row is already captured

Parameters
nlrowbuffer to store pointer to nonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
sourcenlrownonlinear row to copy

Definition at line 994 of file nlp.c.

References SCIP_NlRow::activity, SCIP_NlRow::constant, SCIP_NlRow::curvature, SCIP_NlRow::expr, SCIP_NlRow::lhs, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssorted, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, SCIP_NlRow::name, SCIP_NlRow::nlinvars, NULL, SCIP_NlRow::pseudoactivity, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIPnlrowCreate(), SCIP_NlRow::validactivitybdsdomchg, SCIP_NlRow::validactivitynlp, and SCIP_NlRow::validpsactivitydomchg.

◆ SCIPnlrowCreateFromRow()

SCIP_RETCODE SCIPnlrowCreateFromRow ( SCIP_NLROW **  nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_ROW row 
)

create a new nonlinear row from a linear row

the new row is already captured

Parameters
nlrowbuffer to store pointer to nonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
rowthe linear row to copy

Definition at line 1029 of file nlp.c.

References NULL, SCIP_CALL, SCIP_EXPRCURV_LINEAR, SCIP_OKAY, SCIPcolGetVar(), SCIPnlrowCreate(), SCIProwGetCols(), SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIPsetAllocBufferArray, and SCIPsetFreeBufferArray.

Referenced by SCIPcreateNlRowFromRow().

◆ SCIPnlrowPrint()

SCIP_RETCODE SCIPnlrowPrint ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_MESSAGEHDLR messagehdlr,
FILE *  file 
)

output nonlinear row to file stream

Parameters
nlrowNLP row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
messagehdlrmessage handler
fileoutput file (or NULL for standard output)

Definition at line 1092 of file nlp.c.

References SCIP_NlRow::constant, SCIP_NlRow::curvature, SCIP_NlRow::expr, SCIP_NlRow::lhs, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::name, SCIP_NlRow::nlinvars, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIPexprcurvGetName(), SCIPexprPrint(), SCIPmessageFPrintInfo(), and SCIPvarGetName().

Referenced by SCIPnlpWrite(), and SCIPprintNlRow().

◆ SCIPnlrowCapture()

void SCIPnlrowCapture ( SCIP_NLROW nlrow)

increases usage counter of nonlinear row

Parameters
nlrownonlinear row to capture

Definition at line 1142 of file nlp.c.

References SCIP_NlRow::name, NULL, SCIP_NlRow::nuses, and SCIPdebugMessage.

Referenced by nlpAddNlRows(), SCIPcaptureNlRow(), and SCIPnlrowCreate().

◆ SCIPnlrowRelease()

SCIP_RETCODE SCIPnlrowRelease ( SCIP_NLROW **  nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat 
)

decreases usage counter of nonlinear row

Parameters
nlrownonlinear row to free
blkmemblock memory
setglobal SCIP settings
statproblem statistics data

Definition at line 1154 of file nlp.c.

References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, SCIPexprRelease(), and SCIPsetDebugMsg.

Referenced by nlpDelNlRowPos(), SCIPnlpEndDive(), and SCIPreleaseNlRow().

◆ SCIPnlrowEnsureLinearSize()

SCIP_RETCODE SCIPnlrowEnsureLinearSize ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
int  num 
)

ensures, that linear coefficient array of nonlinear row can store at least num entries

Parameters
nlrowNLP row
blkmemblock memory
setglobal SCIP settings
numminimum number of entries to store

Definition at line 1199 of file nlp.c.

References BMSreallocBlockMemoryArray, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::linvarssize, SCIP_NlRow::nlinvars, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().

Referenced by nlrowAddLinearCoef(), and nlrowRemoveFixedLinearCoefPos().

◆ SCIPnlrowAddLinearCoef()

SCIP_RETCODE SCIPnlrowAddLinearCoef ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_NLP nlp,
SCIP_VAR var,
SCIP_Real  val 
)

adds a previously non existing linear coefficient to a nonlinear row

Parameters
nlrowNLP nonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
nlpcurrent NLP data
varvariable
valvalue of coefficient

Definition at line 1224 of file nlp.c.

References SCIP_NlRow::constant, SCIP_NlRow::nlpindex, nlrowAddLinearCoef(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPnlrowAddLinearCoef(), SCIPnlrowChgConstant(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrScalars(), SCIPvarGetMultaggrVars(), SCIPvarGetProbvarSum(), SCIPvarGetStatus(), and SCIPvarIsActive().

Referenced by SCIPaddLinearCoefsToNlRow(), SCIPaddLinearCoefToNlRow(), and SCIPnlrowAddLinearCoef().

◆ SCIPnlrowDelLinearCoef()

SCIP_RETCODE SCIPnlrowDelLinearCoef ( SCIP_NLROW nlrow,
SCIP_SET set,
SCIP_STAT stat,
SCIP_NLP nlp,
SCIP_VAR var 
)

deletes linear coefficient from nonlinear row

Parameters
nlrownonlinear row to be changed
setglobal SCIP settings
statproblem statistics data
nlpcurrent NLP data
varcoefficient to be deleted

Definition at line 1272 of file nlp.c.

References SCIP_NlRow::linvars, SCIP_NlRow::name, SCIP_NlRow::nlpindex, nlrowDelLinearCoefPos(), nlrowSearchLinearCoef(), NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPvarGetName(), and SCIPvarIsActive().

◆ SCIPnlrowChgLinearCoef()

SCIP_RETCODE SCIPnlrowChgLinearCoef ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_NLP nlp,
SCIP_VAR var,
SCIP_Real  coef 
)

changes or adds a linear coefficient to a nonlinear row

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
nlpcurrent NLP data
varvariable
coefnew value of coefficient

Definition at line 1305 of file nlp.c.

References nlrowAddLinearCoef(), nlrowChgLinearCoefPos(), nlrowSearchLinearCoef(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPsetIsZero().

Referenced by SCIPchgNlRowLinearCoef(), and SCIPnlpChgVarObjDive().

◆ SCIPnlrowChgExpr()

SCIP_RETCODE SCIPnlrowChgExpr ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_NLP nlp,
SCIP_EXPR expr 
)

replaces or deletes an expression in a nonlinear row

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
nlpcurrent NLP data
exprnew expression

Definition at line 1343 of file nlp.c.

References SCIP_NlRow::expr, SCIP_NlRow::nlpindex, nlrowAddToStat(), nlrowExprChanged(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPexprCopy(), SCIPexprRelease(), and SCIPexprSimplify().

Referenced by SCIPsetNlRowExpr().

◆ SCIPnlrowChgConstant()

SCIP_RETCODE SCIPnlrowChgConstant ( SCIP_NLROW nlrow,
SCIP_SET set,
SCIP_STAT stat,
SCIP_NLP nlp,
SCIP_Real  constant 
)

changes constant of nonlinear row

Parameters
nlrownonlinear row
setglobal SCIP settings
statproblem statistics data
nlpcurrent NLP data
constantnew constant

Definition at line 1398 of file nlp.c.

References SCIP_NlRow::constant, nlrowConstantChanged(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPsetIsEQ().

Referenced by nlrowSimplifyExpr(), SCIPchgNlRowConstant(), and SCIPnlrowAddLinearCoef().

◆ SCIPnlrowChgLhs()

SCIP_RETCODE SCIPnlrowChgLhs ( SCIP_NLROW nlrow,
SCIP_SET set,
SCIP_STAT stat,
SCIP_NLP nlp,
SCIP_Real  lhs 
)

changes left hand side of nonlinear row

Parameters
nlrownonlinear row
setglobal SCIP settings
statproblem statistics data
nlpcurrent NLP data
lhsnew left hand side

Definition at line 1418 of file nlp.c.

References SCIP_NlRow::lhs, SCIP_NlRow::nlpindex, nlrowAddToStat(), nlrowSideChanged(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPsetIsEQ().

Referenced by SCIPchgNlRowLhs().

◆ SCIPnlrowChgRhs()

SCIP_RETCODE SCIPnlrowChgRhs ( SCIP_NLROW nlrow,
SCIP_SET set,
SCIP_STAT stat,
SCIP_NLP nlp,
SCIP_Real  rhs 
)

changes right hand side of nonlinear row

Parameters
nlrownonlinear row
setglobal SCIP settings
statproblem statistics data
nlpcurrent NLP data
rhsnew right hand side

Definition at line 1444 of file nlp.c.

References SCIP_NlRow::nlpindex, nlrowAddToStat(), nlrowSideChanged(), NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, and SCIPsetIsEQ().

Referenced by SCIPchgNlRowRhs().

◆ SCIPnlrowSetCurvature()

void SCIPnlrowSetCurvature ( SCIP_NLP nlp,
SCIP_SET set,
SCIP_NLROW nlrow,
SCIP_EXPRCURV  curvature 
)

sets the curvature of a nonlinear row

Parameters
nlpNLP
setglobal SCIP settings
nlrowNLP row
curvaturecurvature of NLP row

Definition at line 1470 of file nlp.c.

References SCIP_NlRow::curvature, SCIP_NlRow::nlpindex, nlrowAddToStat(), and NULL.

Referenced by SCIPsetNlRowCurvature(), and SCIPsetNlRowExpr().

◆ SCIPnlrowSimplify()

SCIP_RETCODE SCIPnlrowSimplify ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_NLP nlp 
)

removes (or substitutes) all fixed, negated, aggregated, multi-aggregated variables from the linear and nonlinear part of a nonlinear row and simplifies its expression

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
nlpcurrent NLP data

Definition at line 1489 of file nlp.c.

References nlrowRemoveFixedLinearCoefs(), nlrowSimplifyExpr(), SCIP_CALL, and SCIP_OKAY.

Referenced by nlpAddNlRows().

◆ SCIPnlrowRecalcNLPActivity()

SCIP_RETCODE SCIPnlrowRecalcNLPActivity ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_NLP nlp 
)

recalculates the current activity of a nonlinear row in the current NLP solution

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
primalprimal data
treebranch and bound tree
nlpcurrent NLP data

Definition at line 1504 of file nlp.c.

References SCIP_NlRow::activity, SCIP_NlRow::constant, SCIP_NlRow::expr, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::nlinvars, SCIP_Stat::nnlps, NULL, SCIP_CALL, SCIP_ERROR, SCIP_INVALID, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_OKAY, SCIPerrorMessage, SCIPexprEval(), SCIPexprGetEvalValue(), SCIPsolCreateNLPSol(), SCIPsolFree(), SCIPvarGetNLPSol(), SCIP_Nlp::solstat, and SCIP_NlRow::validactivitynlp.

Referenced by SCIPnlrowGetNLPActivity(), SCIPrecalcNlRowActivity(), and SCIPrecalcNlRowNLPActivity().

◆ SCIPnlrowGetNLPActivity()

SCIP_RETCODE SCIPnlrowGetNLPActivity ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_NLP nlp,
SCIP_Real activity 
)

gives the activity of a nonlinear row in the current NLP solution

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
primalprimal data
treebranch and bound tree
nlpcurrent NLP data
activitybuffer to store activity value

Definition at line 1556 of file nlp.c.

References SCIP_NlRow::activity, SCIP_Stat::nnlps, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPnlrowRecalcNLPActivity(), and SCIP_NlRow::validactivitynlp.

Referenced by nlpSolve(), SCIPgetNlRowActivity(), SCIPgetNlRowNLPActivity(), SCIPgetNlRowSolActivity(), and SCIPnlrowGetNLPFeasibility().

◆ SCIPnlrowGetNLPFeasibility()

SCIP_RETCODE SCIPnlrowGetNLPFeasibility ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_NLP nlp,
SCIP_Real feasibility 
)

gives the feasibility of a nonlinear row in the current NLP solution: negative value means infeasibility

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
primalprimal data
treebranch and bound tree
nlpcurrent NLP data
feasibilitybuffer to store feasibility value

Definition at line 1586 of file nlp.c.

References SCIP_NlRow::lhs, MIN, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPnlrowGetNLPActivity().

Referenced by SCIPgetNlRowFeasibility(), SCIPgetNlRowNLPFeasibility(), and SCIPgetNlRowSolFeasibility().

◆ SCIPnlrowRecalcPseudoActivity()

SCIP_RETCODE SCIPnlrowRecalcPseudoActivity ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB prob,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_LP lp 
)

calculates the current pseudo activity of a nonlinear row

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
probSCIP problem
primalprimal data
treebranch and bound tree
lpSCIP LP

Definition at line 1609 of file nlp.c.

References SCIP_NlRow::constant, SCIP_Stat::domchgcount, SCIP_NlRow::expr, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, SCIP_NlRow::nlinvars, NULL, SCIP_NlRow::pseudoactivity, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIPexprEval(), SCIPexprGetEvalValue(), SCIPsolCreatePseudoSol(), SCIPsolFree(), SCIPvarGetBestBoundLocal(), and SCIP_NlRow::validpsactivitydomchg.

Referenced by SCIPnlrowGetPseudoActivity(), SCIPrecalcNlRowActivity(), and SCIPrecalcNlRowPseudoActivity().

◆ SCIPnlrowGetPseudoActivity()

SCIP_RETCODE SCIPnlrowGetPseudoActivity ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB prob,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_LP lp,
SCIP_Real pseudoactivity 
)

returns the pseudo activity of a nonlinear row in the current pseudo solution

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
probSCIP problem
primalprimal data
treebranch and bound tree
lpSCIP LP
pseudoactivitybuffer to store pseudo activity value

Definition at line 1656 of file nlp.c.

References SCIP_Stat::domchgcount, NULL, SCIP_NlRow::pseudoactivity, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPnlrowRecalcPseudoActivity(), and SCIP_NlRow::validpsactivitydomchg.

Referenced by SCIPgetNlRowActivity(), SCIPgetNlRowPseudoActivity(), SCIPgetNlRowSolActivity(), SCIPnlpGetPseudoObjval(), and SCIPnlrowGetPseudoFeasibility().

◆ SCIPnlrowGetPseudoFeasibility()

SCIP_RETCODE SCIPnlrowGetPseudoFeasibility ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_PROB prob,
SCIP_PRIMAL primal,
SCIP_TREE tree,
SCIP_LP lp,
SCIP_Real pseudofeasibility 
)

returns the pseudo feasibility of a nonlinear row in the current pseudo solution: negative value means infeasibility

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
probSCIP problem
primalprimal data
treebranch and bound tree
lpSCIP LP
pseudofeasibilitybuffer to store pseudo feasibility value

Definition at line 1687 of file nlp.c.

References SCIP_NlRow::lhs, MIN, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPnlrowGetPseudoActivity().

Referenced by SCIPgetNlRowFeasibility(), SCIPgetNlRowPseudoFeasibility(), and SCIPgetNlRowSolFeasibility().

◆ SCIPnlrowGetSolActivity()

SCIP_RETCODE SCIPnlrowGetSolActivity ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_SOL sol,
SCIP_Real activity 
)

returns the activity of a nonlinear row for a given solution

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
solprimal CIP solution
activitybuffer to store activity value

Definition at line 1712 of file nlp.c.

References SCIP_NlRow::constant, SCIP_NlRow::expr, SCIP_NlRow::lincoefs, SCIP_NlRow::linvars, MAX, MIN, SCIP_NlRow::nlinvars, NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_UNKNOWN, SCIPexprEval(), SCIPexprGetEvalValue(), SCIPsetInfinity(), and SCIPsolGetVal().

Referenced by SCIPgetNlRowSolActivity(), and SCIPnlrowGetSolFeasibility().

◆ SCIPnlrowGetSolFeasibility()

SCIP_RETCODE SCIPnlrowGetSolFeasibility ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_SOL sol,
SCIP_Real feasibility 
)

returns the feasibility of a nonlinear row for the given solution

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
solprimal CIP solution
feasibilitybuffer to store feasibility value

Definition at line 1761 of file nlp.c.

References SCIP_NlRow::lhs, MIN, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIPnlrowGetSolActivity().

Referenced by SCIPgetNlRowSolFeasibility().

◆ SCIPnlrowGetActivityBounds()

SCIP_RETCODE SCIPnlrowGetActivityBounds ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_Real minactivity,
SCIP_Real maxactivity 
)

returns the minimal activity of a nonlinear row w.r.t. the variables' bounds

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
minactivitybuffer to store minimal activity, or NULL
maxactivitybuffer to store maximal activity, or NULL

Definition at line 1783 of file nlp.c.

References SCIP_Stat::domchgcount, SCIP_NlRow::maxactivity, SCIP_NlRow::minactivity, nlrowCalcActivityBounds(), NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, and SCIP_NlRow::validactivitybdsdomchg.

Referenced by SCIPgetNlRowActivityBounds(), and SCIPnlrowIsRedundant().

◆ SCIPnlrowIsRedundant()

SCIP_RETCODE SCIPnlrowIsRedundant ( SCIP_NLROW nlrow,
BMS_BLKMEM blkmem,
SCIP_SET set,
SCIP_STAT stat,
SCIP_Bool isredundant 
)

returns whether the nonlinear row is redundant w.r.t. the variables' bounds

Parameters
nlrownonlinear row
blkmemblock memory
setglobal SCIP settings
statproblem statistics data
isredundantbuffer to store whether row is redundant

Definition at line 1815 of file nlp.c.

References FALSE, SCIP_NlRow::lhs, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPnlrowGetActivityBounds(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), and TRUE.

Referenced by SCIPnlpRemoveRedundantNlRows().

◆ SCIPnlrowGetConstant()

SCIP_Real SCIPnlrowGetConstant ( SCIP_NLROW nlrow)

gets constant

Parameters
nlrowNLP row

Definition at line 1857 of file nlp.c.

References SCIP_NlRow::constant, and NULL.

Referenced by generateCut(), nlrowaggrCreate(), SCIPaddNlpiProblemNlRows(), and SCIPcreateNlpiProblemFromNlRows().

◆ SCIPnlrowGetNLinearVars()

int SCIPnlrowGetNLinearVars ( SCIP_NLROW nlrow)

gets number of variables of linear part

Parameters
nlrowNLP row

Definition at line 1867 of file nlp.c.

References SCIP_NlRow::nlinvars, and NULL.

Referenced by applyHeur(), computeGradient(), generateCut(), heurExec(), nlrowaggrCreate(), SCIPaddNlpiProblemNlRows(), SCIPaddNlRowGradientBenderscutOpt(), and SCIPcreateNlpiProblemFromNlRows().

◆ SCIPnlrowGetLinearVars()

SCIP_VAR ** SCIPnlrowGetLinearVars ( SCIP_NLROW nlrow)

gets array with variables of linear part

Parameters
nlrowNLP row

Definition at line 1877 of file nlp.c.

References SCIP_NlRow::linvars, and NULL.

Referenced by computeGradient(), generateCut(), nlrowaggrCreate(), SCIPaddNlpiProblemNlRows(), SCIPaddNlRowGradientBenderscutOpt(), and SCIPcreateNlpiProblemFromNlRows().

◆ SCIPnlrowGetLinearCoefs()

SCIP_Real * SCIPnlrowGetLinearCoefs ( SCIP_NLROW nlrow)

gets array with coefficients in linear part

Parameters
nlrowNLP row

Definition at line 1887 of file nlp.c.

References SCIP_NlRow::lincoefs, and NULL.

Referenced by computeGradient(), generateCut(), nlrowaggrCreate(), SCIPaddNlpiProblemNlRows(), SCIPaddNlRowGradientBenderscutOpt(), and SCIPcreateNlpiProblemFromNlRows().

◆ SCIPnlrowGetExpr()

◆ SCIPnlrowGetLhs()

◆ SCIPnlrowGetRhs()

◆ SCIPnlrowGetCurvature()

SCIP_EXPRCURV SCIPnlrowGetCurvature ( SCIP_NLROW nlrow)

returns the curvature of a nonlinear row

Parameters
nlrowNLP row

Definition at line 1927 of file nlp.c.

References SCIP_NlRow::curvature, and NULL.

Referenced by computeMaxViolation(), isNlobbtApplicable(), processNlRow(), SCIPcreateNlpiProblemFromNlRows(), and storeNonlinearConvexNlrows().

◆ SCIPnlrowGetName()

const char * SCIPnlrowGetName ( SCIP_NLROW nlrow)

returns the name of a nonlinear row

Parameters
nlrowNLP row

Definition at line 1936 of file nlp.c.

References SCIP_NlRow::name, and NULL.

Referenced by findPointPosition(), generateCut(), processNlRow(), SCIPaddNlpiProblemNlRows(), SCIPcreateNlpiProblemFromNlRows(), and separateCuts().

◆ SCIPnlrowGetNLPPos()

int SCIPnlrowGetNLPPos ( SCIP_NLROW nlrow)

gets position of a nonlinear row in current NLP, or -1 if not in NLP

Parameters
nlrowNLP row

Definition at line 1946 of file nlp.c.

References SCIP_NlRow::nlpindex, and NULL.

◆ SCIPnlrowIsInNLP()

SCIP_Bool SCIPnlrowIsInNLP ( SCIP_NLROW nlrow)

returns TRUE iff row is member of current NLP

Parameters
nlrowNLP row

Definition at line 1956 of file nlp.c.

References SCIP_NlRow::nlpindex, and NULL.

Referenced by addNlrow(), computeCut(), isCandidate(), and isPossibleToComputeCut().

◆ SCIPnlrowGetDualsol()

SCIP_Real SCIPnlrowGetDualsol ( SCIP_NLROW nlrow)

gets the dual NLP solution of a nlrow

for a ranged constraint, the dual value is positive if the right hand side is active and negative if the left hand side is active

Parameters
nlrowNLP row

Definition at line 1969 of file nlp.c.

References SCIP_NlRow::dualsol, SCIP_NlRow::nlpiindex, and NULL.

Referenced by computeStandardNLPFeasibilityCut(), computeStandardNLPOptimalityCut(), and SCIPapplyHeurDualval().

◆ SCIPcreateNlRow()

SCIP_RETCODE SCIPcreateNlRow ( SCIP scip,
SCIP_NLROW **  nlrow,
const char *  name,
SCIP_Real  constant,
int  nlinvars,
SCIP_VAR **  linvars,
SCIP_Real lincoefs,
SCIP_EXPR expr,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_EXPRCURV  curvature 
)

creates and captures a nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowbuffer to store pointer to nonlinear row
namename of nonlinear row
constantconstant
nlinvarsnumber of linear variables
linvarslinear variables, or NULL if nlinvars == 0
lincoefslinear coefficients, or NULL if nlinvars == 0
exprnonlinear expression, or NULL
lhsleft hand side
rhsright hand side
curvaturecurvature of the nonlinear row

Definition at line 954 of file scip_nlp.c.

References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowCreate(), Scip::set, Scip::stat, and TRUE.

Referenced by addKnapsackConstraints(), addLinearConstraints(), addLogicOrConstraints(), addNlrow(), addRegularScholtes(), addSetppcConstraints(), addVarboundConstraints(), createNlRow(), and SCIP_DECL_CONSINITSOL().

◆ SCIPcreateEmptyNlRow()

SCIP_RETCODE SCIPcreateEmptyNlRow ( SCIP scip,
SCIP_NLROW **  nlrow,
const char *  name,
SCIP_Real  lhs,
SCIP_Real  rhs 
)

creates and captures a nonlinear row without any coefficients

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowpointer to nonlinear row
namename of nonlinear row
lhsleft hand side
rhsright hand side

Definition at line 986 of file scip_nlp.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_EXPRCURV_UNKNOWN, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowCreate(), Scip::set, Scip::stat, and TRUE.

◆ SCIPcreateNlRowFromRow()

SCIP_RETCODE SCIPcreateNlRowFromRow ( SCIP scip,
SCIP_NLROW **  nlrow,
SCIP_ROW row 
)

creates and captures a nonlinear row from a linear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowpointer to nonlinear row
rowthe linear row to copy

Definition at line 1012 of file scip_nlp.c.

References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowCreateFromRow(), Scip::set, Scip::stat, and TRUE.

◆ SCIPcaptureNlRow()

SCIP_RETCODE SCIPcaptureNlRow ( SCIP scip,
SCIP_NLROW nlrow 
)

increases usage counter of a nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrownonlinear row to capture

Definition at line 1035 of file scip_nlp.c.

References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowCapture(), and TRUE.

◆ SCIPreleaseNlRow()

SCIP_RETCODE SCIPreleaseNlRow ( SCIP scip,
SCIP_NLROW **  nlrow 
)

decreases usage counter of a nonlinear row, and frees memory if necessary

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowpointer to nonlinear row

Definition at line 1058 of file scip_nlp.c.

References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowRelease(), Scip::set, Scip::stat, and TRUE.

Referenced by addLinearConstraints(), addRegularScholtes(), consdataFree(), createNlRow(), deinitSolve(), releaseHashmapNLPRows(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSEXITSOL(), and SCIP_DECL_CONSINITSOL().

◆ SCIPchgNlRowLhs()

SCIP_RETCODE SCIPchgNlRowLhs ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real  lhs 
)

changes left hand side of a nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
lhsnew left hand side

Definition at line 1080 of file scip_nlp.c.

References FALSE, Scip::nlp, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowChgLhs(), Scip::set, Scip::stat, and TRUE.

◆ SCIPchgNlRowRhs()

SCIP_RETCODE SCIPchgNlRowRhs ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real  rhs 
)

changes right hand side of a nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
rhsnew right hand side

Definition at line 1103 of file scip_nlp.c.

References FALSE, Scip::nlp, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowChgRhs(), Scip::set, Scip::stat, and TRUE.

◆ SCIPchgNlRowConstant()

SCIP_RETCODE SCIPchgNlRowConstant ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real  constant 
)

changes constant of a nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
constantnew value for constant

Definition at line 1126 of file scip_nlp.c.

References FALSE, Scip::nlp, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowChgConstant(), Scip::set, Scip::stat, and TRUE.

Referenced by createNlRow().

◆ SCIPsetNlRowCurvature()

void SCIPsetNlRowCurvature ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_EXPRCURV  curvature 
)

set curvature of a nonlinear row

Parameters
scipSCIP data structure
nlrowNLP row
curvaturecurvature of NLP row

Definition at line 1140 of file scip_nlp.c.

References Scip::nlp, NULL, SCIPnlrowSetCurvature(), and Scip::set.

Referenced by initSolve().

◆ SCIPaddLinearCoefToNlRow()

SCIP_RETCODE SCIPaddLinearCoefToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_VAR var,
SCIP_Real  val 
)

adds variable with a linear coefficient to a nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
varproblem variable
valvalue of coefficient in linear part of row

Definition at line 1161 of file scip_nlp.c.

References FALSE, Scip::mem, Scip::nlp, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowAddLinearCoef(), Scip::set, Scip::stat, and TRUE.

Referenced by addNlrow(), and createNlRow().

◆ SCIPaddLinearCoefsToNlRow()

SCIP_RETCODE SCIPaddLinearCoefsToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
int  nvars,
SCIP_VAR **  vars,
SCIP_Real vals 
)

adds variables with linear coefficients to a row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
nvarsnumber of variables to add to the row
varsproblem variables to add
valsvalues of coefficients in linear part of row

Definition at line 1185 of file scip_nlp.c.

References FALSE, Scip::mem, Scip::nlp, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowAddLinearCoef(), Scip::set, Scip::stat, and TRUE.

◆ SCIPchgNlRowLinearCoef()

SCIP_RETCODE SCIPchgNlRowLinearCoef ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_VAR var,
SCIP_Real  coef 
)

changes linear coefficient of a variables in a nonlinear row

Setting the coefficient to 0.0 means that it is removed from the row. The variable does not need to exists before.

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
varvariable
coefnew value of coefficient

Definition at line 1222 of file scip_nlp.c.

References FALSE, Scip::mem, Scip::nlp, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowChgLinearCoef(), Scip::set, Scip::stat, and TRUE.

◆ SCIPsetNlRowExpr()

SCIP_RETCODE SCIPsetNlRowExpr ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_EXPR expr 
)

sets or deletes expression in a nonlinear row

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
exprexpression, or NULL

Definition at line 1248 of file scip_nlp.c.

References FALSE, Scip::mem, Scip::nlp, SCIP_Mem::probmem, SCIP_CALL, SCIP_EXPRCURV_UNKNOWN, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowChgExpr(), SCIPnlrowSetCurvature(), Scip::set, Scip::stat, and TRUE.

Referenced by createNlRow().

◆ SCIPrecalcNlRowNLPActivity()

SCIP_RETCODE SCIPrecalcNlRowNLPActivity ( SCIP scip,
SCIP_NLROW nlrow 
)

recalculates the activity of a nonlinear row in the last NLP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row

Definition at line 1274 of file scip_nlp.c.

References FALSE, Scip::mem, Scip::nlp, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlrowRecalcNLPActivity(), Scip::set, Scip::stat, Scip::tree, and TRUE.

◆ SCIPgetNlRowNLPActivity()

SCIP_RETCODE SCIPgetNlRowNLPActivity ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real activity 
)

returns the activity of a nonlinear row in the last NLP solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
activitypointer to store activity value

Definition at line 1301 of file scip_nlp.c.

References FALSE, Scip::mem, Scip::nlp, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlrowGetNLPActivity(), Scip::set, Scip::stat, Scip::tree, and TRUE.

◆ SCIPgetNlRowNLPFeasibility()

SCIP_RETCODE SCIPgetNlRowNLPFeasibility ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real feasibility 
)

gives the feasibility of a nonlinear row in the last NLP solution: negative value means infeasibility

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
feasibilitypointer to store feasibility value

Definition at line 1329 of file scip_nlp.c.

References FALSE, Scip::mem, Scip::nlp, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage(), SCIPerrorMessage, SCIPnlrowGetNLPFeasibility(), Scip::set, Scip::stat, Scip::tree, and TRUE.

◆ SCIPrecalcNlRowPseudoActivity()

SCIP_RETCODE SCIPrecalcNlRowPseudoActivity ( SCIP scip,
SCIP_NLROW nlrow 
)

recalculates the activity of a nonlinear row for the current pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row

Definition at line 1357 of file scip_nlp.c.

References FALSE, Scip::lp, Scip::mem, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowRecalcPseudoActivity(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

◆ SCIPgetNlRowPseudoActivity()

SCIP_RETCODE SCIPgetNlRowPseudoActivity ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real pseudoactivity 
)

gives the activity of a nonlinear row for the current pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
pseudoactivitypointer to store pseudo activity value

Definition at line 1378 of file scip_nlp.c.

References FALSE, Scip::lp, Scip::mem, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowGetPseudoActivity(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

◆ SCIPgetNlRowPseudoFeasibility()

SCIP_RETCODE SCIPgetNlRowPseudoFeasibility ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real pseudofeasibility 
)

gives the feasibility of a nonlinear row for the current pseudo solution: negative value means infeasibility

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
pseudofeasibilitypointer to store pseudo feasibility value

Definition at line 1400 of file scip_nlp.c.

References FALSE, Scip::lp, Scip::mem, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowGetPseudoFeasibility(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

◆ SCIPrecalcNlRowActivity()

SCIP_RETCODE SCIPrecalcNlRowActivity ( SCIP scip,
SCIP_NLROW nlrow 
)

recalculates the activity of a nonlinear row in the last NLP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row

Definition at line 1422 of file scip_nlp.c.

References FALSE, Scip::lp, Scip::mem, Scip::nlp, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowRecalcNLPActivity(), SCIPnlrowRecalcPseudoActivity(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

◆ SCIPgetNlRowActivity()

SCIP_RETCODE SCIPgetNlRowActivity ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real activity 
)

gives the activity of a nonlinear row in the last NLP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
activitypointer to store activity value

Definition at line 1450 of file scip_nlp.c.

References FALSE, Scip::lp, Scip::mem, Scip::nlp, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPActivity(), SCIPnlrowGetPseudoActivity(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by computeStandardNLPFeasibilityCut().

◆ SCIPgetNlRowFeasibility()

SCIP_RETCODE SCIPgetNlRowFeasibility ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real feasibility 
)

gives the feasibility of a nonlinear row in the last NLP or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
feasibilitypointer to store feasibility value

Definition at line 1479 of file scip_nlp.c.

References FALSE, Scip::lp, Scip::mem, Scip::nlp, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowGetPseudoFeasibility(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

◆ SCIPgetNlRowSolActivity()

SCIP_RETCODE SCIPgetNlRowSolActivity ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_SOL sol,
SCIP_Real activity 
)

gives the activity of a nonlinear row for the given primal solution or NLP solution or pseudo solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
solprimal CIP solution, or NULL for NLP solution of pseudo solution
activitypointer to store activity value

Definition at line 1508 of file scip_nlp.c.

References FALSE, Scip::lp, Scip::mem, Scip::nlp, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPActivity(), SCIPnlrowGetPseudoActivity(), SCIPnlrowGetSolActivity(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by computeMaxViolation(), findPointPosition(), improvePoint(), SCIP_DECL_SEPAEXECLP(), and separateCuts().

◆ SCIPgetNlRowSolFeasibility()

SCIP_RETCODE SCIPgetNlRowSolFeasibility ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_SOL sol,
SCIP_Real feasibility 
)

gives the feasibility of a nonlinear row for the given primal solution

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP nonlinear row
solprimal CIP solution
feasibilitypointer to store feasibility value

Definition at line 1542 of file scip_nlp.c.

References FALSE, Scip::lp, Scip::mem, Scip::nlp, NULL, Scip::primal, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowGetPseudoFeasibility(), SCIPnlrowGetSolFeasibility(), Scip::set, Scip::stat, Scip::transprob, Scip::tree, and TRUE.

Referenced by getMinFeas(), and improvePoint().

◆ SCIPgetNlRowActivityBounds()

SCIP_RETCODE SCIPgetNlRowActivityBounds ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real minactivity,
SCIP_Real maxactivity 
)

gives the minimal and maximal activity of a nonlinear row w.r.t. the variable's bounds

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
minactivitybuffer to store minimal activity, or NULL
maxactivitybuffer to store maximal activity, or NULL

Definition at line 1577 of file scip_nlp.c.

References FALSE, Scip::mem, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowGetActivityBounds(), Scip::set, Scip::stat, and TRUE.

◆ SCIPprintNlRow()

SCIP_RETCODE SCIPprintNlRow ( SCIP scip,
SCIP_NLROW nlrow,
FILE *  file 
)

prints a nonlinear row to file stream

Returns
SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
Precondition
This method can be called if SCIP is in one of the following stages:
Parameters
scipSCIP data structure
nlrowNLP row
fileoutput file (or NULL for standard output)

Definition at line 1601 of file scip_nlp.c.

References FALSE, Scip::mem, Scip::messagehdlr, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowPrint(), Scip::set, Scip::stat, and TRUE.

Referenced by computeCut(), findAndStoreEcAggregations(), findPointPosition(), generateCut(), and separateCuts().