Detailed Description
methods for the creation and interaction with rows of the NLP relaxation
Function Documentation
◆ SCIPnlrowGetConstant()
SCIP_EXPORT SCIP_Real SCIPnlrowGetConstant | ( | SCIP_NLROW * | nlrow | ) |
gets constant
- Parameters
-
nlrow NLP 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
-
nlrow NLP 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
-
nlrow NLP 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
-
nlrow NLP 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
-
nlrow NLP 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
-
nlrow NLP 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
-
nlrow nonlinear row var variable 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()
SCIP_EXPORT int SCIPnlrowGetNQuadElems | ( | SCIP_NLROW * | nlrow | ) |
gets number of quadratic elements in quadratic part
- Parameters
-
nlrow NLP row
Definition at line 3329 of file nlp.c.
References SCIP_NlRow::nquadelems, and NULL.
Referenced by applyHeur(), computeGradient(), computeInteriorPoint(), createMIP(), createTcliqueGraph(), doSeachEcAggr(), generateCut(), heurExec(), isCandidate(), isNlobbtApplicable(), nlrowaggrCreate(), processNlRow(), SCIPaddNlRowGradientBenderscutOpt(), SCIPaddQuadElementsToNlRow(), SCIPcreateNlpiProb(), searchEcAggrWithCliques(), storeAggrFromMIP(), storeNonlinearConvexNlrows(), and updateMIP().
◆ SCIPnlrowGetQuadElems()
SCIP_EXPORT SCIP_QUADELEM* SCIPnlrowGetQuadElems | ( | SCIP_NLROW * | nlrow | ) |
gets quadratic elements in quadratic part
- Parameters
-
nlrow NLP row
Definition at line 3339 of file nlp.c.
References NULL, and SCIP_NlRow::quadelems.
Referenced by computeGradient(), computeInteriorPoint(), createMIP(), createTcliqueGraph(), generateCut(), isCandidate(), nlrowaggrCreate(), processNlRow(), SCIPaddNlRowGradientBenderscutOpt(), SCIPcreateNlpiProb(), searchEcAggrWithCliques(), storeAggrFromMIP(), and updateMIP().
◆ 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
-
nlrow NLP row nquadvars buffer to store number of variables in quadratic term, or NULL if not of interest quadvars buffer to store pointer to array of variables in quadratic term, or NULL if not of interest nquadelems buffer to store number of entries in quadratic term, or NULL if not of interest quadelems buffer 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 | ) |
gets expression tree
- Parameters
-
nlrow NLP row
Definition at line 3370 of file nlp.c.
References SCIP_NlRow::exprtree, and NULL.
Referenced by applyHeur(), computeGradient(), generateCut(), heurExec(), isCandidate(), isNlobbtApplicable(), processNlRow(), SCIPaddNlRowGradientBenderscutOpt(), SCIPcreateNlpiProb(), and storeNonlinearConvexNlrows().
◆ SCIPnlrowGetLhs()
SCIP_EXPORT SCIP_Real SCIPnlrowGetLhs | ( | SCIP_NLROW * | nlrow | ) |
returns the left hand side of a nonlinear row
- Parameters
-
nlrow NLP row
Definition at line 3380 of file nlp.c.
References SCIP_NlRow::lhs, and NULL.
Referenced by computeMaxViolation(), computeStandardNLPFeasibilityCut(), findAndStoreEcAggregations(), findPointPosition(), generateCut(), isCandidate(), isNlobbtApplicable(), nlrowaggrCreate(), processNlRow(), SCIP_DECL_SEPAEXECLP(), SCIPcreateNlpiProb(), separateCuts(), and storeNonlinearConvexNlrows().
◆ SCIPnlrowGetRhs()
SCIP_EXPORT SCIP_Real SCIPnlrowGetRhs | ( | SCIP_NLROW * | nlrow | ) |
returns the right hand side of a nonlinear row
- Parameters
-
nlrow NLP row
Definition at line 3390 of file nlp.c.
References NULL, and SCIP_NlRow::rhs.
Referenced by computeMaxViolation(), computeStandardNLPFeasibilityCut(), findAndStoreEcAggregations(), findPointPosition(), generateCut(), improvePoint(), isCandidate(), isNlobbtApplicable(), nlrowaggrCreate(), processNlRow(), SCIP_DECL_SEPAEXECLP(), SCIPcreateNlpiProb(), separateCuts(), and storeNonlinearConvexNlrows().
◆ SCIPnlrowGetCurvature()
SCIP_EXPORT SCIP_EXPRCURV SCIPnlrowGetCurvature | ( | SCIP_NLROW * | nlrow | ) |
returns the curvature of a nonlinear row
- Parameters
-
nlrow NLP 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
-
nlrow NLP row curvature curvature 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
-
nlrow NLP 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
-
nlrow NLP 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
-
nlrow NLP 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
-
nlrow NLP 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
-
scip SCIP data structure nlrow buffer to store pointer to nonlinear row name name of nonlinear row constant constant nlinvars number of linear variables linvars linear variables, or NULL if nlinvars == 0 lincoefs linear coefficients, or NULL if nlinvars == 0 nquadvars number variables in quadratic terms quadvars variables in quadratic terms, or NULL if nquadvars == 0 nquadelems number of elements in quadratic term quadelems elements (i.e., monomials) in quadratic term, or NULL if nquadelems == 0 expression nonlinear expression, or NULL lhs left hand side rhs right hand side curvature curvature 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
-
scip SCIP data structure nlrow pointer to nonlinear row name name of nonlinear row lhs left hand side rhs right 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
-
scip SCIP data structure nlrow pointer to nonlinear row row the 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
-
scip SCIP data structure nlrow nonlinear 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
-
scip SCIP data structure nlrow pointer 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
-
scip SCIP data structure nlrow NLP nonlinear row lhs new 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
-
scip SCIP data structure nlrow NLP nonlinear row rhs new 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
-
scip SCIP data structure nlrow NLP row constant new 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
-
scip SCIP data structure nlrow NLP row var problem variable val value 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
-
scip SCIP data structure nlrow NLP row nvars number of variables to add to the row vars problem variables to add vals values 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
-
scip SCIP data structure nlrow NLP row var variable coef new 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
-
scip SCIP data structure nlrow NLP row var problem 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
-
scip SCIP data structure nlrow NLP row nvars number of problem variables vars problem 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
-
scip SCIP data structure nlrow NLP row quadelem quadratic 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
-
scip SCIP data structure nlrow NLP row nquadelems number of quadratic elements quadelems quadratic 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
-
scip SCIP data structure nlrow NLP row quadelement new 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
-
scip SCIP data structure nlrow NLP row exprtree expression 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
-
scip SCIP data structure nlrow NLP row paramidx index of parameter in expression tree paramval new 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
-
scip SCIP data structure nlrow NLP row paramvals new 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
-
scip SCIP data structure nlrow NLP 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
-
scip SCIP data structure nlrow NLP nonlinear row activity pointer 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
-
scip SCIP data structure nlrow NLP nonlinear row feasibility pointer 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
-
scip SCIP data structure nlrow NLP 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
-
scip SCIP data structure nlrow NLP nonlinear row pseudoactivity pointer 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
-
scip SCIP data structure nlrow NLP nonlinear row pseudofeasibility pointer 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
-
scip SCIP data structure nlrow NLP 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
-
scip SCIP data structure nlrow NLP nonlinear row activity pointer 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
-
scip SCIP data structure nlrow NLP nonlinear row feasibility pointer 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
-
scip SCIP data structure nlrow NLP nonlinear row sol primal CIP solution, or NULL for NLP solution of pseudo solution activity pointer 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
-
scip SCIP data structure nlrow NLP nonlinear row sol primal CIP solution feasibility pointer 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
-
scip SCIP data structure nlrow NLP row minactivity buffer to store minimal activity, or NULL maxactivity buffer 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
-
scip SCIP data structure nlrow NLP row file output 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().