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 883 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 982 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 1017 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 1080 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 1130 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 1142 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 1187 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 1212 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 1260 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 1293 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 1331 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 1386 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 1406 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 1432 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 1458 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 1477 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 1492 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 1544 of file nlp.c.

    References SCIP_NlRow::activity, SCIP_Stat::nnlps, NULL, SCIP_CALL, 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 1573 of file nlp.c.

    References SCIP_NlRow::lhs, MIN, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_INVALID, 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 1599 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 1646 of file nlp.c.

    References SCIP_Stat::domchgcount, NULL, SCIP_NlRow::pseudoactivity, SCIP_CALL, 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 1676 of file nlp.c.

    References SCIP_NlRow::lhs, MIN, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_INVALID, 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 1704 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 1755 of file nlp.c.

    References SCIP_NlRow::lhs, MIN, NULL, SCIP_NlRow::rhs, SCIP_CALL, SCIP_INVALID, 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 1780 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 1812 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 1854 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 1864 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 1874 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 1884 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 1924 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 1933 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 1943 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 1953 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 1966 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_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowCreate(), 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, NULL, SCIP_CALL, SCIP_EXPRCURV_UNKNOWN, SCIP_OKAY, SCIPcheckStage, SCIPnlrowCreate(), 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_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowCreateFromRow(), 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_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowRelease(), 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_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowChgLhs(), 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_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowChgRhs(), 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_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowChgConstant(), 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 NULL, and SCIPnlrowSetCurvature().

    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_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowAddLinearCoef(), 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, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowAddLinearCoef(), 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, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowChgLinearCoef(), 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_CALL, SCIP_EXPRCURV_UNKNOWN, SCIP_OKAY, SCIPcheckStage, SCIPnlrowChgExpr(), SCIPnlrowSetCurvature(), 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, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPnlrowRecalcNLPActivity(), 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

    If row cannot be evaluated at NLP solution, then activity is set to SCIP_INVALID.

    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 1303 of file scip_nlp.c.

    References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPnlrowGetNLPActivity(), 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

    If row cannot be evaluated at NLP solution, then feasibility is set to SCIP_INVALID.

    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 1333 of file scip_nlp.c.

    References FALSE, NULL, SCIP_CALL, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPnlrowGetNLPFeasibility(), 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 1361 of file scip_nlp.c.

    References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowRecalcPseudoActivity(), 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

    If row cannot be evaluated at pseudo solution, then activity is set to SCIP_INVALID.

    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 1384 of file scip_nlp.c.

    References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowGetPseudoActivity(), 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

    If row cannot be evaluated at pseudo solution, then feasibility is set to SCIP_INVALID.

    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 1408 of file scip_nlp.c.

    References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowGetPseudoFeasibility(), 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 1430 of file scip_nlp.c.

    References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowRecalcNLPActivity(), SCIPnlrowRecalcPseudoActivity(), 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

    If row cannot be evaluated, then activity is set to SCIP_INVALID.

    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 1460 of file scip_nlp.c.

    References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPActivity(), SCIPnlrowGetPseudoActivity(), 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

    If row cannot be evaluated, then feasibility is set to SCIP_INVALID.

    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 1491 of file scip_nlp.c.

    References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowGetPseudoFeasibility(), 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

    If row cannot be evaluated at given solution, then activity is set to SCIP_INVALID.

    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:

    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 1522 of file scip_nlp.c.

    References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPActivity(), SCIPnlrowGetPseudoActivity(), SCIPnlrowGetSolActivity(), 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

    If row cannot be evaluated at given solution, then feasibility is set to SCIP_INVALID.

    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:

    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 1558 of file scip_nlp.c.

    References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowGetPseudoFeasibility(), SCIPnlrowGetSolFeasibility(), 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 1593 of file scip_nlp.c.

    References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowGetActivityBounds(), 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 1617 of file scip_nlp.c.

    References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPnlrowPrint(), and TRUE.

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