Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

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

Functions

SCIP_EXPORT SCIP_Real SCIPnlrowGetConstant (SCIP_NLROW *nlrow)
 
SCIP_EXPORT int SCIPnlrowGetNLinearVars (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_VAR ** SCIPnlrowGetLinearVars (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_RealSCIPnlrowGetLinearCoefs (SCIP_NLROW *nlrow)
 
SCIP_EXPORT int SCIPnlrowGetNQuadVars (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_VAR ** SCIPnlrowGetQuadVars (SCIP_NLROW *nlrow)
 
SCIP_EXPORT int SCIPnlrowSearchQuadVar (SCIP_NLROW *nlrow, SCIP_VAR *var)
 
SCIP_EXPORT int SCIPnlrowGetNQuadElems (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_QUADELEMSCIPnlrowGetQuadElems (SCIP_NLROW *nlrow)
 
SCIP_EXPORT void SCIPnlrowGetQuadData (SCIP_NLROW *nlrow, int *nquadvars, SCIP_VAR ***quadvars, int *nquadelems, SCIP_QUADELEM **quadelems)
 
SCIP_EXPORT SCIP_EXPRTREESCIPnlrowGetExprtree (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_Real SCIPnlrowGetLhs (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_Real SCIPnlrowGetRhs (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_EXPRCURV SCIPnlrowGetCurvature (SCIP_NLROW *nlrow)
 
SCIP_EXPORT void SCIPnlrowSetCurvature (SCIP_NLROW *nlrow, SCIP_EXPRCURV curvature)
 
SCIP_EXPORT const char * SCIPnlrowGetName (SCIP_NLROW *nlrow)
 
SCIP_EXPORT int SCIPnlrowGetNLPPos (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_Bool SCIPnlrowIsInNLP (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_Real SCIPnlrowGetDualsol (SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_RETCODE SCIPcreateNlRow (SCIP *scip, SCIP_NLROW **nlrow, const char *name, SCIP_Real constant, int nlinvars, SCIP_VAR **linvars, SCIP_Real *lincoefs, int nquadvars, SCIP_VAR **quadvars, int nquadelems, SCIP_QUADELEM *quadelems, SCIP_EXPRTREE *expression, SCIP_Real lhs, SCIP_Real rhs, SCIP_EXPRCURV curvature)
 
SCIP_EXPORT SCIP_RETCODE SCIPcreateEmptyNlRow (SCIP *scip, SCIP_NLROW **nlrow, const char *name, SCIP_Real lhs, SCIP_Real rhs)
 
SCIP_EXPORT SCIP_RETCODE SCIPcreateNlRowFromRow (SCIP *scip, SCIP_NLROW **nlrow, SCIP_ROW *row)
 
SCIP_EXPORT SCIP_RETCODE SCIPcaptureNlRow (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_RETCODE SCIPreleaseNlRow (SCIP *scip, SCIP_NLROW **nlrow)
 
SCIP_EXPORT SCIP_RETCODE SCIPchgNlRowLhs (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real lhs)
 
SCIP_EXPORT SCIP_RETCODE SCIPchgNlRowRhs (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real rhs)
 
SCIP_EXPORT SCIP_RETCODE SCIPchgNlRowConstant (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real constant)
 
SCIP_EXPORT SCIP_RETCODE SCIPaddLinearCoefToNlRow (SCIP *scip, SCIP_NLROW *nlrow, SCIP_VAR *var, SCIP_Real val)
 
SCIP_EXPORT SCIP_RETCODE SCIPaddLinearCoefsToNlRow (SCIP *scip, SCIP_NLROW *nlrow, int nvars, SCIP_VAR **vars, SCIP_Real *vals)
 
SCIP_EXPORT SCIP_RETCODE SCIPchgNlRowLinearCoef (SCIP *scip, SCIP_NLROW *nlrow, SCIP_VAR *var, SCIP_Real coef)
 
SCIP_EXPORT SCIP_RETCODE SCIPaddQuadVarToNlRow (SCIP *scip, SCIP_NLROW *nlrow, SCIP_VAR *var)
 
SCIP_EXPORT SCIP_RETCODE SCIPaddQuadVarsToNlRow (SCIP *scip, SCIP_NLROW *nlrow, int nvars, SCIP_VAR **vars)
 
SCIP_EXPORT SCIP_RETCODE SCIPaddQuadElementToNlRow (SCIP *scip, SCIP_NLROW *nlrow, SCIP_QUADELEM quadelem)
 
SCIP_EXPORT SCIP_RETCODE SCIPaddQuadElementsToNlRow (SCIP *scip, SCIP_NLROW *nlrow, int nquadelems, SCIP_QUADELEM *quadelems)
 
SCIP_EXPORT SCIP_RETCODE SCIPchgNlRowQuadElement (SCIP *scip, SCIP_NLROW *nlrow, SCIP_QUADELEM quadelement)
 
SCIP_EXPORT SCIP_RETCODE SCIPsetNlRowExprtree (SCIP *scip, SCIP_NLROW *nlrow, SCIP_EXPRTREE *exprtree)
 
SCIP_EXPORT SCIP_RETCODE SCIPsetNlRowExprtreeParam (SCIP *scip, SCIP_NLROW *nlrow, int paramidx, SCIP_Real paramval)
 
SCIP_EXPORT SCIP_RETCODE SCIPsetNlRowExprtreeParams (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *paramvals)
 
SCIP_EXPORT SCIP_RETCODE SCIPrecalcNlRowNLPActivity (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowNLPActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *activity)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowNLPFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *feasibility)
 
SCIP_EXPORT SCIP_RETCODE SCIPrecalcNlRowPseudoActivity (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowPseudoActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *pseudoactivity)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowPseudoFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *pseudofeasibility)
 
SCIP_EXPORT SCIP_RETCODE SCIPrecalcNlRowActivity (SCIP *scip, SCIP_NLROW *nlrow)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *activity)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *feasibility)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowSolActivity (SCIP *scip, SCIP_NLROW *nlrow, SCIP_SOL *sol, SCIP_Real *activity)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowSolFeasibility (SCIP *scip, SCIP_NLROW *nlrow, SCIP_SOL *sol, SCIP_Real *feasibility)
 
SCIP_EXPORT SCIP_RETCODE SCIPgetNlRowActivityBounds (SCIP *scip, SCIP_NLROW *nlrow, SCIP_Real *minactivity, SCIP_Real *maxactivity)
 
SCIP_EXPORT SCIP_RETCODE SCIPprintNlRow (SCIP *scip, SCIP_NLROW *nlrow, FILE *file)
 

Function Documentation

◆ SCIPnlrowGetConstant()

SCIP_EXPORT SCIP_Real SCIPnlrowGetConstant ( SCIP_NLROW nlrow)

gets constant

Parameters
nlrowNLP row

Definition at line 3242 of file nlp.c.

References SCIP_NlRow::constant, and NULL.

Referenced by nlrowaggrCreate(), and SCIPcreateNlpiProb().

◆ SCIPnlrowGetNLinearVars()

SCIP_EXPORT int SCIPnlrowGetNLinearVars ( SCIP_NLROW nlrow)

gets number of variables of linear part

Parameters
nlrowNLP row

Definition at line 3252 of file nlp.c.

References SCIP_NlRow::nlinvars, and NULL.

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

◆ SCIPnlrowGetLinearVars()

SCIP_EXPORT SCIP_VAR** SCIPnlrowGetLinearVars ( SCIP_NLROW nlrow)

gets array with variables of linear part

Parameters
nlrowNLP row

Definition at line 3262 of file nlp.c.

References SCIP_NlRow::linvars, and NULL.

Referenced by computeGradient(), generateCut(), nlrowaggrCreate(), SCIPaddNlRowGradientBenderscutOpt(), and SCIPcreateNlpiProb().

◆ SCIPnlrowGetLinearCoefs()

SCIP_EXPORT SCIP_Real* SCIPnlrowGetLinearCoefs ( SCIP_NLROW nlrow)

gets array with coefficients in linear part

Parameters
nlrowNLP row

Definition at line 3272 of file nlp.c.

References SCIP_NlRow::lincoefs, and NULL.

Referenced by computeGradient(), generateCut(), nlrowaggrCreate(), SCIPaddNlRowGradientBenderscutOpt(), and SCIPcreateNlpiProb().

◆ SCIPnlrowGetNQuadVars()

SCIP_EXPORT int SCIPnlrowGetNQuadVars ( SCIP_NLROW nlrow)

gets number of quadratic variables in quadratic part

Parameters
nlrowNLP row

Definition at line 3282 of file nlp.c.

References SCIP_NlRow::nquadvars, and NULL.

Referenced by computeGradient(), createMIP(), createTcliqueGraph(), doSeachEcAggr(), findAndStoreEcAggregations(), isCandidate(), nlrowaggrCreate(), SCIPaddNlRowGradientBenderscutOpt(), SCIPaddQuadVarsToNlRow(), and searchEcAggrWithCliques().

◆ SCIPnlrowGetQuadVars()

SCIP_EXPORT SCIP_VAR** SCIPnlrowGetQuadVars ( SCIP_NLROW nlrow)

gets quadratic variables in quadratic part

Parameters
nlrowNLP row

Definition at line 3292 of file nlp.c.

References NULL, and SCIP_NlRow::quadvars.

Referenced by computeGradient(), computeInteriorPoint(), createMIP(), createTcliqueGraph(), doSeachEcAggr(), generateCut(), isCandidate(), nlrowaggrCreate(), processNlRow(), SCIPaddNlRowGradientBenderscutOpt(), and SCIPcreateNlpiProb().

◆ SCIPnlrowSearchQuadVar()

SCIP_EXPORT int SCIPnlrowSearchQuadVar ( SCIP_NLROW nlrow,
SCIP_VAR var 
)

gives position of variable in quadvars array of row, or -1 if not found

Parameters
nlrownonlinear row
varvariable to search for

Definition at line 3302 of file nlp.c.

References SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadvars, SCIP_NlRow::quadvarshash, SCIPhashmapExists(), and SCIPhashmapGetImageInt().

Referenced by createNlRow(), nlpDelVarPos(), nlrowRemoveFixedQuadVars(), nlrowRemoveFixedVar(), and SCIPnlrowAddQuadVar().

◆ SCIPnlrowGetNQuadElems()

◆ SCIPnlrowGetQuadElems()

◆ SCIPnlrowGetQuadData()

SCIP_EXPORT void SCIPnlrowGetQuadData ( SCIP_NLROW nlrow,
int *  nquadvars,
SCIP_VAR ***  quadvars,
int *  nquadelems,
SCIP_QUADELEM **  quadelems 
)

gets array with coefficients in linear part

Parameters
nlrowNLP row
nquadvarsbuffer to store number of variables in quadratic term, or NULL if not of interest
quadvarsbuffer to store pointer to array of variables in quadratic term, or NULL if not of interest
nquadelemsbuffer to store number of entries in quadratic term, or NULL if not of interest
quadelemsbuffer to store pointer to array of entries in quadratic term, or NULL if not of interest

Definition at line 3349 of file nlp.c.

References SCIP_NlRow::nquadelems, SCIP_NlRow::nquadvars, NULL, SCIP_NlRow::quadelems, and SCIP_NlRow::quadvars.

◆ SCIPnlrowGetExprtree()

SCIP_EXPORT SCIP_EXPRTREE* SCIPnlrowGetExprtree ( SCIP_NLROW nlrow)

◆ SCIPnlrowGetLhs()

◆ SCIPnlrowGetRhs()

◆ SCIPnlrowGetCurvature()

SCIP_EXPORT SCIP_EXPRCURV SCIPnlrowGetCurvature ( SCIP_NLROW nlrow)

returns the curvature of a nonlinear row

Parameters
nlrowNLP row

Definition at line 3400 of file nlp.c.

References SCIP_NlRow::curvature, and NULL.

Referenced by computeMaxViolation(), isNlobbtApplicable(), SCIPcreateNlpiProb(), and storeNonlinearConvexNlrows().

◆ SCIPnlrowSetCurvature()

SCIP_EXPORT void SCIPnlrowSetCurvature ( SCIP_NLROW nlrow,
SCIP_EXPRCURV  curvature 
)

sets the curvature of a nonlinear row

Parameters
nlrowNLP row
curvaturecurvature of NLP row

Definition at line 3409 of file nlp.c.

References SCIP_NlRow::curvature, and NULL.

Referenced by SCIPaddQuadElementsToNlRow(), SCIPaddQuadElementToNlRow(), and SCIPsetNlRowExprtree().

◆ SCIPnlrowGetName()

SCIP_EXPORT const char* SCIPnlrowGetName ( SCIP_NLROW nlrow)

returns the name of a nonlinear row

Parameters
nlrowNLP row

Definition at line 3419 of file nlp.c.

References SCIP_NlRow::name, and NULL.

Referenced by findPointPosition(), generateCut(), processNlRow(), SCIPcreateNlpiProb(), and separateCuts().

◆ SCIPnlrowGetNLPPos()

SCIP_EXPORT 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 3429 of file nlp.c.

References SCIP_NlRow::nlpindex, and NULL.

◆ SCIPnlrowIsInNLP()

SCIP_EXPORT SCIP_Bool SCIPnlrowIsInNLP ( SCIP_NLROW nlrow)

returns TRUE iff row is member of current NLP

Parameters
nlrowNLP row

Definition at line 3439 of file nlp.c.

References SCIP_NlRow::nlpindex, and NULL.

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

◆ SCIPnlrowGetDualsol()

SCIP_EXPORT 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 3451 of file nlp.c.

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

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

◆ SCIPcreateNlRow()

SCIP_EXPORT SCIP_RETCODE SCIPcreateNlRow ( SCIP scip,
SCIP_NLROW **  nlrow,
const char *  name,
SCIP_Real  constant,
int  nlinvars,
SCIP_VAR **  linvars,
SCIP_Real lincoefs,
int  nquadvars,
SCIP_VAR **  quadvars,
int  nquadelems,
SCIP_QUADELEM quadelems,
SCIP_EXPRTREE expression,
SCIP_Real  lhs,
SCIP_Real  rhs,
SCIP_EXPRCURV  curvature 
)

creates and captures an NLP 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
nquadvarsnumber variables in quadratic terms
quadvarsvariables in quadratic terms, or NULL if nquadvars == 0
nquadelemsnumber of elements in quadratic term
quadelemselements (i.e., monomials) in quadratic term, or NULL if nquadelems == 0
expressionnonlinear expression, or NULL
lhsleft hand side
rhsright hand side
curvaturecurvature of the nonlinear row

Definition at line 1194 of file scip_nlp.c.

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

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

◆ SCIPcreateEmptyNlRow()

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

creates and captures an NLP 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 1230 of file scip_nlp.c.

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

◆ SCIPcreateNlRowFromRow()

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

creates and captures an NLP 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 1256 of file scip_nlp.c.

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

◆ SCIPcaptureNlRow()

SCIP_EXPORT SCIP_RETCODE SCIPcaptureNlRow ( SCIP scip,
SCIP_NLROW nlrow 
)

increases usage counter of NLP 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 1279 of file scip_nlp.c.

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

◆ SCIPreleaseNlRow()

SCIP_EXPORT SCIP_RETCODE SCIPreleaseNlRow ( SCIP scip,
SCIP_NLROW **  nlrow 
)

decreases usage counter of NLP 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 1302 of file scip_nlp.c.

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

Referenced by addBilinearTerm(), addKnapsackConstraints(), addLinearCoef(), addLinearConstraints(), addLogicOrConstraints(), addQuadVarTerm(), addSetppcConstraints(), addVarboundConstraints(), chgLinearCoefPos(), consdataAddExprtrees(), consdataFree(), consdataSetExprtrees(), createNlRow(), delLinearCoefPos(), delQuadVarTermPos(), mergeAndCleanQuadVarTerms(), presolveDisaggregate(), presolveRemoveFixedVariables(), releaseHashmapNLPRows(), removeBilinearTermsPos(), replaceQuadVarTermPos(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSEXITSOL(), and SCIP_DECL_CONSINITSOL().

◆ SCIPchgNlRowLhs()

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

changes left hand side of NLP 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 1324 of file scip_nlp.c.

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

◆ SCIPchgNlRowRhs()

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

changes right hand side of NLP 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 1347 of file scip_nlp.c.

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

Referenced by createNlRow().

◆ SCIPchgNlRowConstant()

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

changes constant of NLP 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 1370 of file scip_nlp.c.

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

◆ SCIPaddLinearCoefToNlRow()

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

adds variable with a linear coefficient to the 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 1393 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 createNlRow().

◆ SCIPaddLinearCoefsToNlRow()

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

adds variables with linear coefficients to the 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 1417 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.

Referenced by createNlRow().

◆ SCIPchgNlRowLinearCoef()

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

changes linear coefficient of a variables in a 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 1454 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.

◆ SCIPaddQuadVarToNlRow()

SCIP_EXPORT SCIP_RETCODE SCIPaddQuadVarToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_VAR var 
)

adds quadratic variable to the nonlinear row

After adding a quadratic variable, it can be used to add quadratic elements.

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

Definition at line 1482 of file scip_nlp.c.

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

Referenced by createNlRow().

◆ SCIPaddQuadVarsToNlRow()

SCIP_EXPORT SCIP_RETCODE SCIPaddQuadVarsToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
int  nvars,
SCIP_VAR **  vars 
)

adds quadratic variables to the nonlinear row

After adding quadratic variables, they can be used to add quadratic elements.

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 problem variables
varsproblem variables

Definition at line 1507 of file scip_nlp.c.

References FALSE, Scip::mem, NULL, SCIP_Mem::probmem, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlrowAddQuadVar(), SCIPnlrowEnsureQuadVarsSize(), SCIPnlrowGetNQuadVars(), Scip::set, and TRUE.

◆ SCIPaddQuadElementToNlRow()

SCIP_EXPORT SCIP_RETCODE SCIPaddQuadElementToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_QUADELEM  quadelem 
)

add a quadratic element to the nonlinear row

Variable indices of the quadratic element need to be relative to quadratic variables array of 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
quadelemquadratic element

Definition at line 1541 of file scip_nlp.c.

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

Referenced by createNlRow().

◆ SCIPaddQuadElementsToNlRow()

SCIP_EXPORT SCIP_RETCODE SCIPaddQuadElementsToNlRow ( SCIP scip,
SCIP_NLROW nlrow,
int  nquadelems,
SCIP_QUADELEM quadelems 
)

adds quadratic elements to the nonlinear row

Variable indices of the quadratic elements need to be relative to quadratic variables array of 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
nquadelemsnumber of quadratic elements
quadelemsquadratic elements

Definition at line 1570 of file scip_nlp.c.

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

◆ SCIPchgNlRowQuadElement()

SCIP_EXPORT SCIP_RETCODE SCIPchgNlRowQuadElement ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_QUADELEM  quadelement 
)

changes coefficient in quadratic part of a row

Setting the coefficient in the quadelement to 0.0 means that it is removed from the row the element 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
quadelementnew quadratic element, or update for existing one

Definition at line 1608 of file scip_nlp.c.

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

◆ SCIPsetNlRowExprtree()

SCIP_EXPORT SCIP_RETCODE SCIPsetNlRowExprtree ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_EXPRTREE exprtree 
)

sets or deletes expression tree in the 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
exprtreeexpression tree, or NULL

Definition at line 1631 of file scip_nlp.c.

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

◆ SCIPsetNlRowExprtreeParam()

SCIP_EXPORT SCIP_RETCODE SCIPsetNlRowExprtreeParam ( SCIP scip,
SCIP_NLROW nlrow,
int  paramidx,
SCIP_Real  paramval 
)

sets a parameter of expression tree in the 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
paramidxindex of parameter in expression tree
paramvalnew value of parameter in expression tree

Definition at line 1657 of file scip_nlp.c.

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

◆ SCIPsetNlRowExprtreeParams()

SCIP_EXPORT SCIP_RETCODE SCIPsetNlRowExprtreeParams ( SCIP scip,
SCIP_NLROW nlrow,
SCIP_Real paramvals 
)

sets parameters of expression tree in the 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
paramvalsnew values of parameter in expression tree

Definition at line 1681 of file scip_nlp.c.

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

◆ SCIPrecalcNlRowNLPActivity()

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

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

◆ SCIPgetNlRowNLPActivity()

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

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

◆ SCIPgetNlRowNLPFeasibility()

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

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

◆ SCIPrecalcNlRowPseudoActivity()

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

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

◆ SCIPgetNlRowPseudoActivity()

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

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

◆ SCIPgetNlRowPseudoFeasibility()

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

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

◆ SCIPrecalcNlRowActivity()

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

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowRecalcNLPActivity(), SCIPnlrowRecalcPseudoActivity(), Scip::set, Scip::stat, and TRUE.

◆ SCIPgetNlRowActivity()

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

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPActivity(), SCIPnlrowGetPseudoActivity(), Scip::set, Scip::stat, and TRUE.

Referenced by computeStandardNLPFeasibilityCut().

◆ SCIPgetNlRowFeasibility()

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

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowGetPseudoFeasibility(), Scip::set, Scip::stat, and TRUE.

◆ SCIPgetNlRowSolActivity()

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

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPActivity(), SCIPnlrowGetPseudoActivity(), SCIPnlrowGetSolActivity(), Scip::set, Scip::stat, and TRUE.

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

◆ SCIPgetNlRowSolFeasibility()

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

References FALSE, Scip::nlp, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage(), SCIPnlpHasCurrentNodeNLP(), SCIPnlpHasSolution(), SCIPnlrowGetNLPFeasibility(), SCIPnlrowGetPseudoFeasibility(), SCIPnlrowGetSolFeasibility(), Scip::set, Scip::stat, and TRUE.

Referenced by getMinFeas(), and improvePoint().

◆ SCIPgetNlRowActivityBounds()

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

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

◆ SCIPprintNlRow()

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

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

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

Referenced by createNlRow(), findPointPosition(), and separateCuts().