SCIP

    Solving Constraint Integer Programs

    Detailed Description

    NLP representation used by various NLP solver interface implementations.

    Typedefs

    typedef struct SCIP_NlpiOracle SCIP_NLPIORACLE
     

    Functions

    SCIP_RETCODE SCIPnlpiOracleCreate (SCIP *scip, SCIP_NLPIORACLE **oracle)
     
    SCIP_RETCODE SCIPnlpiOracleFree (SCIP *scip, SCIP_NLPIORACLE **oracle)
     
    SCIP_RETCODE SCIPnlpiOracleSetProblemName (SCIP *scip, SCIP_NLPIORACLE *oracle, const char *name)
     
    const char * SCIPnlpiOracleGetProblemName (SCIP_NLPIORACLE *oracle)
     
    SCIP_RETCODE SCIPnlpiOracleAddVars (SCIP *scip, SCIP_NLPIORACLE *oracle, int nvars, const SCIP_Real *lbs, const SCIP_Real *ubs, const char **varnames)
     
    SCIP_RETCODE SCIPnlpiOracleAddConstraints (SCIP *scip, SCIP_NLPIORACLE *oracle, int nconss, const SCIP_Real *lhss, const SCIP_Real *rhss, const int *nlininds, int *const *lininds, SCIP_Real *const *linvals, SCIP_EXPR **exprs, const char **consnames)
     
    SCIP_RETCODE SCIPnlpiOracleSetObjective (SCIP *scip, SCIP_NLPIORACLE *oracle, const SCIP_Real constant, int nlin, const int *lininds, const SCIP_Real *linvals, SCIP_EXPR *expr)
     
    SCIP_RETCODE SCIPnlpiOracleChgVarBounds (SCIP *scip, SCIP_NLPIORACLE *oracle, int nvars, const int *indices, const SCIP_Real *lbs, const SCIP_Real *ubs)
     
    SCIP_RETCODE SCIPnlpiOracleChgConsSides (SCIP *scip, SCIP_NLPIORACLE *oracle, int nconss, const int *indices, const SCIP_Real *lhss, const SCIP_Real *rhss)
     
    SCIP_RETCODE SCIPnlpiOracleDelVarSet (SCIP *scip, SCIP_NLPIORACLE *oracle, int *delstats)
     
    SCIP_RETCODE SCIPnlpiOracleDelConsSet (SCIP *scip, SCIP_NLPIORACLE *oracle, int *delstats)
     
    SCIP_RETCODE SCIPnlpiOracleChgLinearCoefs (SCIP *scip, SCIP_NLPIORACLE *oracle, int considx, int nentries, const int *varidxs, const SCIP_Real *newcoefs)
     
    SCIP_RETCODE SCIPnlpiOracleChgExpr (SCIP *scip, SCIP_NLPIORACLE *oracle, int considx, SCIP_EXPR *expr)
     
    SCIP_RETCODE SCIPnlpiOracleChgObjConstant (SCIP *scip, SCIP_NLPIORACLE *oracle, SCIP_Real objconstant)
     
    int SCIPnlpiOracleGetNVars (SCIP_NLPIORACLE *oracle)
     
    int SCIPnlpiOracleGetNConstraints (SCIP_NLPIORACLE *oracle)
     
    const SCIP_Real * SCIPnlpiOracleGetVarLbs (SCIP_NLPIORACLE *oracle)
     
    const SCIP_Real * SCIPnlpiOracleGetVarUbs (SCIP_NLPIORACLE *oracle)
     
    char ** SCIPnlpiOracleGetVarNames (SCIP_NLPIORACLE *oracle)
     
    SCIP_Bool SCIPnlpiOracleIsVarNonlinear (SCIP *scip, SCIP_NLPIORACLE *oracle, int varidx)
     
    void SCIPnlpiOracleGetVarCounts (SCIP *scip, SCIP_NLPIORACLE *oracle, const int **lincounts, const int **nlcounts)
     
    SCIP_Real SCIPnlpiOracleGetObjectiveConstant (SCIP_NLPIORACLE *oracle)
     
    SCIP_Real SCIPnlpiOracleGetConstraintLhs (SCIP_NLPIORACLE *oracle, int considx)
     
    SCIP_Real SCIPnlpiOracleGetConstraintRhs (SCIP_NLPIORACLE *oracle, int considx)
     
    char * SCIPnlpiOracleGetConstraintName (SCIP_NLPIORACLE *oracle, int considx)
     
    SCIP_Real SCIPnlpiOracleGetConstraintLinearCoef (SCIP_NLPIORACLE *oracle, int considx, int varpos)
     
    SCIP_Bool SCIPnlpiOracleIsConstraintNonlinear (SCIP_NLPIORACLE *oracle, int considx)
     
    SCIP_EXPRINTCAPABILITY SCIPnlpiOracleGetEvalCapability (SCIP *scip, SCIP_NLPIORACLE *oracle)
     
    SCIP_RETCODE SCIPnlpiOracleEvalObjectiveValue (SCIP *scip, SCIP_NLPIORACLE *oracle, const SCIP_Real *x, SCIP_Real *objval)
     
    SCIP_RETCODE SCIPnlpiOracleEvalConstraintValue (SCIP *scip, SCIP_NLPIORACLE *oracle, int considx, const SCIP_Real *x, SCIP_Real *conval)
     
    SCIP_RETCODE SCIPnlpiOracleEvalConstraintValues (SCIP *scip, SCIP_NLPIORACLE *oracle, const SCIP_Real *x, SCIP_Real *convals)
     
    SCIP_RETCODE SCIPnlpiOracleEvalObjectiveInterval (SCIP *scip, SCIP_NLPIORACLE *oracle, SCIP_Real infinity, const SCIP_Real *xmin, const SCIP_Real *xmax, SCIP_Real *objmin, SCIP_Real *objmax)
     
    SCIP_RETCODE SCIPnlpiOracleEvalConstraintInterval (SCIP *scip, SCIP_NLPIORACLE *oracle, SCIP_Real infinity, int considx, const SCIP_Real *xmin, const SCIP_Real *xmax, SCIP_Real *conmin, SCIP_Real *conmax)
     
    SCIP_RETCODE SCIPnlpiOracleEvalObjectiveGradient (SCIP *scip, SCIP_NLPIORACLE *oracle, const SCIP_Real *x, SCIP_Bool isnewx, SCIP_Real *objval, SCIP_Real *objgrad)
     
    SCIP_RETCODE SCIPnlpiOracleEvalConstraintGradient (SCIP *scip, SCIP_NLPIORACLE *oracle, const int considx, const SCIP_Real *x, SCIP_Bool isnewx, SCIP_Real *conval, SCIP_Real *congrad)
     
    SCIP_RETCODE SCIPnlpiOracleGetJacobianRowSparsity (SCIP *scip, SCIP_NLPIORACLE *oracle, const int **rowoffsets, const int **cols, const SCIP_Bool **colnlflags, int *nnlnz)
     
    SCIP_RETCODE SCIPnlpiOracleGetJacobianColSparsity (SCIP *scip, SCIP_NLPIORACLE *oracle, const int **coloffsets, const int **rows, const SCIP_Bool **rownlflags, int *nnlnz)
     
    SCIP_RETCODE SCIPnlpiOracleGetObjGradientNnz (SCIP *scip, SCIP_NLPIORACLE *oracle, const int **nz, const SCIP_Bool **nlnz, int *nnz, int *nnlnz)
     
    SCIP_RETCODE SCIPnlpiOracleEvalJacobian (SCIP *scip, SCIP_NLPIORACLE *oracle, const SCIP_Real *x, SCIP_Bool isnewx, SCIP_Real *convals, SCIP_Real *jacobi)
     
    SCIP_RETCODE SCIPnlpiOracleGetHessianLagSparsity (SCIP *scip, SCIP_NLPIORACLE *oracle, const int **offset, const int **allnz, SCIP_Bool colwise)
     
    SCIP_RETCODE SCIPnlpiOracleEvalHessianLag (SCIP *scip, SCIP_NLPIORACLE *oracle, const SCIP_Real *x, SCIP_Bool isnewx_obj, SCIP_Bool isnewx_cons, SCIP_Real objfactor, const SCIP_Real *lambda, SCIP_Real *hessian, SCIP_Bool colwise)
     
    SCIP_RETCODE SCIPnlpiOracleResetEvalTime (SCIP *scip, SCIP_NLPIORACLE *oracle)
     
    SCIP_Real SCIPnlpiOracleGetEvalTime (SCIP *scip, SCIP_NLPIORACLE *oracle)
     
    SCIP_RETCODE SCIPnlpiOraclePrintProblem (SCIP *scip, SCIP_NLPIORACLE *oracle, FILE *file)
     
    SCIP_RETCODE SCIPnlpiOraclePrintProblemGams (SCIP *scip, SCIP_NLPIORACLE *oracle, SCIP_Real *initval, FILE *file)
     

    Typedef Documentation

    ◆ SCIP_NLPIORACLE

    NLPI oracle data structure

    Definition at line 51 of file nlpioracle.h.

    Function Documentation

    ◆ SCIPnlpiOracleCreate()

    SCIP_RETCODE SCIPnlpiOracleCreate ( SCIP *  scip,
    SCIP_NLPIORACLE **  oracle 
    )

    creates an NLPIORACLE data structure

    Parameters
    scipSCIP data structure
    oraclepointer to store NLPIORACLE data structure

    Definition at line 1297 of file nlpioracle.c.

    References BMSclearMemory, createConstraint(), FALSE, NULL, SCIP_NlpiOracle::objective, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocMemory, SCIPcreateClock(), SCIPdebugMessage, SCIPexprintCreate(), SCIPexprintGetName(), SCIPgetBoolParam(), and SCIPsetClockEnabled().

    Referenced by SCIP_DECL_NLPICREATEPROBLEM().

    ◆ SCIPnlpiOracleFree()

    SCIP_RETCODE SCIPnlpiOracleFree ( SCIP *  scip,
    SCIP_NLPIORACLE **  oracle 
    )

    frees an NLPIORACLE data structure

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure

    Definition at line 1327 of file nlpioracle.c.

    References BMSfreeMemory, FALSE, freeConstraint(), freeConstraints(), freeVariables(), invalidateHessianLagSparsity(), invalidateJacobiSparsity(), NULL, SCIP_NlpiOracle::objective, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPexprintFree(), SCIPfreeClock(), and SCIPnlpiOracleSetProblemName().

    Referenced by SCIP_DECL_NLPIFREEPROBLEM().

    ◆ SCIPnlpiOracleSetProblemName()

    SCIP_RETCODE SCIPnlpiOracleSetProblemName ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const char *  name 
    )

    sets the problem name (used for printing)

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    namename of problem

    Definition at line 1359 of file nlpioracle.c.

    References SCIP_NlpiOracle::name, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPduplicateBlockMemoryArray, and SCIPfreeBlockMemoryArray.

    Referenced by SCIP_DECL_NLPICREATEPROBLEM(), and SCIPnlpiOracleFree().

    ◆ SCIPnlpiOracleGetProblemName()

    const char * SCIPnlpiOracleGetProblemName ( SCIP_NLPIORACLE *  oracle)

    gets the problem name, or NULL if none set

    Parameters
    oraclepointer to NLPIORACLE data structure

    Definition at line 1383 of file nlpioracle.c.

    References SCIP_NlpiOracle::name, NULL, and SCIPdebugMessage.

    Referenced by SCIP_DECL_NLPISOLVE().

    ◆ SCIPnlpiOracleAddVars()

    SCIP_RETCODE SCIPnlpiOracleAddVars ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    int  nvars,
    const SCIP_Real *  lbs,
    const SCIP_Real *  ubs,
    const char **  varnames 
    )

    adds variables

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    nvarsnumber of variables to add
    lbsarray with lower bounds of new variables, or NULL if all -infinity
    ubsarray with upper bounds of new variables, or NULL if all +infinity
    varnamesarray with names of new variables, or NULL if no names should be stored

    Definition at line 1395 of file nlpioracle.c.

    References BMSclearMemoryArray, BMScopyMemoryArray, ensureVarsSize(), EPSEQ, invalidateHessianLagSparsity(), NULL, SCIP_NlpiOracle::nvars, SCIP_CALL, SCIP_DEFAULT_EPSILON, SCIP_OKAY, SCIPallocClearBlockMemoryArray, SCIPdebugMessage, SCIPduplicateBlockMemoryArray, SCIPinfinity(), SCIP_NlpiOracle::varlbs, SCIP_NlpiOracle::varlincount, SCIP_NlpiOracle::varnames, SCIP_NlpiOracle::varnlcount, SCIP_NlpiOracle::varssize, and SCIP_NlpiOracle::varubs.

    Referenced by SCIP_DECL_NLPIADDVARS().

    ◆ SCIPnlpiOracleAddConstraints()

    SCIP_RETCODE SCIPnlpiOracleAddConstraints ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    int  nconss,
    const SCIP_Real *  lhss,
    const SCIP_Real *  rhss,
    const int *  nlininds,
    int *const *  lininds,
    SCIP_Real *const *  linvals,
    SCIP_EXPR **  exprs,
    const char **  consnames 
    )

    adds constraints

    linear coefficients: row(=constraint) oriented matrix; quadratic coefficients: row oriented matrix for each constraint

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    nconssnumber of constraints to add
    lhssarray with left-hand sides of constraints, or NULL if all -infinity
    rhssarray with right-hand sides of constraints, or NULL if all +infinity
    nlinindsnumber of linear coefficients for each constraint, may be NULL in case of no linear part
    linindsindices of variables for linear coefficients for each constraint, may be NULL in case of no linear part
    linvalsvalues of linear coefficient for each constraint, may be NULL in case of no linear part
    exprsNULL if no nonlinear parts, otherwise exprs[.] gives nonlinear part, or NULL if no nonlinear part in this constraint
    consnamesnames of new constraints, or NULL if no names should be stored

    Definition at line 1481 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, createConstraint(), ensureConssSize(), SCIP_NlpiOracleCons::expr, FALSE, invalidateHessianLagSparsity(), invalidateJacobiSparsity(), SCIP_NlpiOracle::nconss, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPinfinity(), and TRUE.

    Referenced by SCIP_DECL_NLPIADDCONSTRAINTS().

    ◆ SCIPnlpiOracleSetObjective()

    SCIP_RETCODE SCIPnlpiOracleSetObjective ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const SCIP_Real  constant,
    int  nlin,
    const int *  lininds,
    const SCIP_Real *  linvals,
    SCIP_EXPR *  expr 
    )

    sets or overwrites objective, a minimization problem is expected

    May change sparsity pattern.

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    constantconstant part of objective
    nlinnumber of linear variable coefficients
    linindsindices of linear variables, or NULL if no linear part
    linvalscoefficients of linear variables, or NULL if no linear part
    exprexpression of nonlinear part, or NULL if no nonlinear part

    Definition at line 1542 of file nlpioracle.c.

    References createConstraint(), SCIP_NlpiOracleCons::expr, freeConstraint(), invalidateHessianLagSparsity(), NULL, SCIP_NlpiOracle::objective, REALABS, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPisInfinity(), and TRUE.

    Referenced by SCIP_DECL_NLPISETOBJECTIVE().

    ◆ SCIPnlpiOracleChgVarBounds()

    SCIP_RETCODE SCIPnlpiOracleChgVarBounds ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    int  nvars,
    const int *  indices,
    const SCIP_Real *  lbs,
    const SCIP_Real *  ubs 
    )

    change variable bounds

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    nvarsnumber of variables to change bounds
    indicesindices of variables to change bounds
    lbsnew lower bounds, or NULL if all should be -infty
    ubsnew upper bounds, or NULL if all should be +infty

    Definition at line 1571 of file nlpioracle.c.

    References EPSEQ, NULL, SCIP_NlpiOracle::nvars, SCIP_DEFAULT_EPSILON, SCIP_OKAY, SCIPdebugMessage, SCIPinfinity(), SCIP_NlpiOracle::varlbs, and SCIP_NlpiOracle::varubs.

    Referenced by SCIP_DECL_NLPICHGVARBOUNDS().

    ◆ SCIPnlpiOracleChgConsSides()

    SCIP_RETCODE SCIPnlpiOracleChgConsSides ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    int  nconss,
    const int *  indices,
    const SCIP_Real *  lhss,
    const SCIP_Real *  rhss 
    )

    change constraint sides

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    nconssnumber of constraints to change bounds
    indicesindices of constraints to change bounds
    lhssnew left-hand sides, or NULL if all should be -infty
    rhssnew right-hand sides, or NULL if all should be +infty

    Definition at line 1608 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, EPSEQ, SCIP_NlpiOracleCons::lhs, SCIP_NlpiOracle::nconss, NULL, SCIP_NlpiOracleCons::rhs, SCIP_DEFAULT_EPSILON, SCIP_OKAY, SCIPdebugMessage, and SCIPinfinity().

    Referenced by SCIP_DECL_NLPICHGCONSSIDES().

    ◆ SCIPnlpiOracleDelVarSet()

    ◆ SCIPnlpiOracleDelConsSet()

    SCIP_RETCODE SCIPnlpiOracleDelConsSet ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    int *  delstats 
    )

    deletes a set of constraints

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    delstatsarray with deletion status of rows in input (1 if row should be deleted, 0 if not); new position of row in output (-1 if row was deleted)

    Definition at line 1785 of file nlpioracle.c.

    References BMSclearMemoryArray, SCIP_NlpiOracle::conss, SCIP_NlpiOracleCons::expr, freeConstraint(), freeConstraints(), invalidateHessianLagSparsity(), invalidateJacobiSparsity(), SCIP_NlpiOracleCons::linidxs, SCIP_NlpiOracle::nconss, SCIP_NlpiOracleCons::nlinidxs, NULL, SCIP_NlpiOracle::nvars, SCIP_NlpiOracle::objective, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, TRUE, updateVariableCounts(), SCIP_NlpiOracle::varlincount, and SCIP_NlpiOracle::varnlcount.

    Referenced by SCIP_DECL_NLPIDELCONSSET().

    ◆ SCIPnlpiOracleChgLinearCoefs()

    SCIP_RETCODE SCIPnlpiOracleChgLinearCoefs ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    int  considx,
    int  nentries,
    const int *  varidxs,
    const SCIP_Real *  newcoefs 
    )

    changes (or adds) linear coefficients in one constraint or objective

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    considxindex of constraint where linear coefficients should be changed, or -1 for objective
    nentriesnumber of coefficients to change
    varidxsarray with indices of variables which coefficients should be changed
    newcoefsarray with new coefficients of variables

    Definition at line 1871 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, ensureConsLinSize(), FALSE, invalidateJacobiSparsity(), SCIP_NlpiOracleCons::lincoefs, SCIP_NlpiOracleCons::linidxs, SCIP_NlpiOracleCons::linsize, SCIP_NlpiOracleCons::nlinidxs, NULL, SCIP_NlpiOracle::nvars, SCIP_NlpiOracle::objective, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPduplicateBlockMemoryArray, SCIPsortedvecFindInt(), sortLinearCoefficients(), TRUE, updateVariableCounts(), and SCIP_NlpiOracle::varlincount.

    Referenced by SCIP_DECL_NLPICHGLINEARCOEFS().

    ◆ SCIPnlpiOracleChgExpr()

    SCIP_RETCODE SCIPnlpiOracleChgExpr ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    int  considx,
    SCIP_EXPR *  expr 
    )

    replaces expression of one constraint or objective

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    considxindex of constraint where expression should be changed, or -1 for objective
    exprnew expression, or NULL

    Definition at line 1967 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracleCons::expr, SCIP_NlpiOracleCons::exprintdata, SCIP_NlpiOracle::exprinterpreter, invalidateHessianLagSparsity(), invalidateJacobiSparsity(), NULL, SCIP_NlpiOracle::objective, SCIP_CALL, SCIP_OKAY, SCIPcaptureExpr(), SCIPdebugMessage, SCIPexprintCompile(), SCIPexprintFreeData(), SCIPreleaseExpr(), and updateVariableCounts().

    Referenced by SCIP_DECL_NLPICHGEXPR().

    ◆ SCIPnlpiOracleChgObjConstant()

    SCIP_RETCODE SCIPnlpiOracleChgObjConstant ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    SCIP_Real  objconstant 
    )

    changes the constant value in the objective function

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    objconstantnew value for objective constant

    Definition at line 2013 of file nlpioracle.c.

    References SCIP_NlpiOracleCons::lhs, NULL, SCIP_NlpiOracle::objective, SCIP_NlpiOracleCons::rhs, SCIP_OKAY, and SCIPdebugMessage.

    Referenced by SCIP_DECL_NLPICHGOBJCONSTANT().

    ◆ SCIPnlpiOracleGetNVars()

    ◆ SCIPnlpiOracleGetNConstraints()

    ◆ SCIPnlpiOracleGetVarLbs()

    const SCIP_Real * SCIPnlpiOracleGetVarLbs ( SCIP_NLPIORACLE *  oracle)

    gives the variables lower bounds

    Parameters
    oraclepointer to NLPIORACLE data structure

    Definition at line 2050 of file nlpioracle.c.

    References NULL, and SCIP_NlpiOracle::varlbs.

    Referenced by ensureStartingPoint(), handleNlpParam(), initWorhp(), ReadMatrix(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIP_DECL_NLPISOLVE(), setupStart(), and updateWorhp().

    ◆ SCIPnlpiOracleGetVarUbs()

    const SCIP_Real * SCIPnlpiOracleGetVarUbs ( SCIP_NLPIORACLE *  oracle)

    gives the variables upper bounds

    Parameters
    oraclepointer to NLPIORACLE data structure

    Definition at line 2060 of file nlpioracle.c.

    References NULL, and SCIP_NlpiOracle::varubs.

    Referenced by ensureStartingPoint(), handleNlpParam(), initWorhp(), ReadMatrix(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIP_DECL_NLPISOLVE(), setupStart(), and updateWorhp().

    ◆ SCIPnlpiOracleGetVarNames()

    char ** SCIPnlpiOracleGetVarNames ( SCIP_NLPIORACLE *  oracle)

    gives the variables names, or NULL if not set

    Parameters
    oraclepointer to NLPIORACLE data structure

    Definition at line 2070 of file nlpioracle.c.

    References NULL, and SCIP_NlpiOracle::varnames.

    ◆ SCIPnlpiOracleIsVarNonlinear()

    SCIP_Bool SCIPnlpiOracleIsVarNonlinear ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    int  varidx 
    )

    indicates whether variable appears nonlinear in any objective or constraint

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    varidxthe variable to check

    Definition at line 2080 of file nlpioracle.c.

    References NULL, and SCIP_NlpiOracle::varnlcount.

    Referenced by handleNlpParam().

    ◆ SCIPnlpiOracleGetVarCounts()

    void SCIPnlpiOracleGetVarCounts ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const int **  lincounts,
    const int **  nlcounts 
    )

    returns number of linear and nonlinear appearances of variables in objective and constraints

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    lincountsbuffer to return pointer to array of counts of linear appearances
    nlcountsbuffer to return pointer to array of counts of nonlinear appearances

    Definition at line 2095 of file nlpioracle.c.

    References NULL, SCIP_NlpiOracle::varlincount, and SCIP_NlpiOracle::varnlcount.

    ◆ SCIPnlpiOracleGetObjectiveConstant()

    SCIP_Real SCIPnlpiOracleGetObjectiveConstant ( SCIP_NLPIORACLE *  oracle)

    gives constant term of objective

    Parameters
    oraclepointer to NLPIORACLE data structure

    Definition at line 2111 of file nlpioracle.c.

    References SCIP_NlpiOracleCons::lhs, NULL, SCIP_NlpiOracle::objective, and SCIP_NlpiOracleCons::rhs.

    Referenced by SCIP_DECL_NLPICHGOBJCONSTANT().

    ◆ SCIPnlpiOracleGetConstraintLhs()

    SCIP_Real SCIPnlpiOracleGetConstraintLhs ( SCIP_NLPIORACLE *  oracle,
    int  considx 
    )

    gives left-hand side of a constraint

    Parameters
    oraclepointer to NLPIORACLE data structure
    considxconstraint index

    Definition at line 2122 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracleCons::lhs, and NULL.

    Referenced by handleNlpParam(), initConopt(), initWorhp(), ReadMatrix(), SCIP_DECL_NLPICHGCONSSIDES(), SCIP_DECL_NLPISOLVE(), and updateWorhp().

    ◆ SCIPnlpiOracleGetConstraintRhs()

    SCIP_Real SCIPnlpiOracleGetConstraintRhs ( SCIP_NLPIORACLE *  oracle,
    int  considx 
    )

    gives right-hand side of a constraint

    Parameters
    oraclepointer to NLPIORACLE data structure
    considxconstraint index

    Definition at line 2135 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, NULL, and SCIP_NlpiOracleCons::rhs.

    Referenced by handleNlpParam(), initConopt(), initWorhp(), ReadMatrix(), SCIP_DECL_NLPICHGCONSSIDES(), SCIP_DECL_NLPISOLVE(), and updateWorhp().

    ◆ SCIPnlpiOracleGetConstraintName()

    char * SCIPnlpiOracleGetConstraintName ( SCIP_NLPIORACLE *  oracle,
    int  considx 
    )

    gives name of a constraint, may be NULL

    Parameters
    oraclepointer to NLPIORACLE data structure
    considxconstraint index

    Definition at line 2148 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracleCons::name, and NULL.

    ◆ SCIPnlpiOracleGetConstraintLinearCoef()

    SCIP_Real SCIPnlpiOracleGetConstraintLinearCoef ( SCIP_NLPIORACLE *  oracle,
    int  considx,
    int  varpos 
    )

    gives linear coefficient of a given variable in a constraint

    Parameters
    oraclepointer to NLPIORACLE data structure
    considxconstraint index, or -1 for objective
    varposposition in the constraint's linear coefficient array

    Definition at line 2161 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracleCons::lincoefs, NULL, and SCIP_NlpiOracle::objective.

    Referenced by ReadMatrix().

    ◆ SCIPnlpiOracleIsConstraintNonlinear()

    SCIP_Bool SCIPnlpiOracleIsConstraintNonlinear ( SCIP_NLPIORACLE *  oracle,
    int  considx 
    )

    indicates whether constraint is nonlinear

    Parameters
    oraclepointer to NLPIORACLE data structure
    considxindex of constraint for which nonlinearity status is returned, or -1 for objective

    Definition at line 2181 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracleCons::expr, NULL, and SCIP_NlpiOracle::objective.

    Referenced by computeInteriorPoint(), handleNlpParam(), SCIP_DECL_NLPIADDCONSTRAINTS(), SCIP_DECL_NLPISETOBJECTIVE(), and SCIP_DECL_NLPISOLVE().

    ◆ SCIPnlpiOracleGetEvalCapability()

    SCIP_EXPRINTCAPABILITY SCIPnlpiOracleGetEvalCapability ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle 
    )

    gives the evaluation capabilities that are shared among all expressions in the problem

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure

    Definition at line 2198 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracleCons::expr, SCIP_NlpiOracleCons::exprintdata, SCIP_NlpiOracle::exprinterpreter, SCIP_NlpiOracle::nconss, NULL, SCIP_NlpiOracle::objective, SCIP_EXPRINTCAPABILITY_ALL, and SCIPexprintGetExprCapability().

    Referenced by SCIP_DECL_NLPISOLVE().

    ◆ SCIPnlpiOracleEvalObjectiveValue()

    SCIP_RETCODE SCIPnlpiOracleEvalObjectiveValue ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const SCIP_Real *  x,
    SCIP_Real *  objval 
    )

    evaluates the objective function in a given point

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    xpoint where to evaluate
    objvalpointer to store objective value

    Definition at line 2221 of file nlpioracle.c.

    References SCIP_NlpiOracle::evalclock, evalFunctionValue(), SCIP_NlpiOracleCons::lhs, NULL, SCIP_NlpiOracle::objective, SCIP_NlpiOracleCons::rhs, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPstartClock(), SCIPstopClock(), and x.

    Referenced by F77_FUNC(), FDEval(), SCIP_DECL_NLPIGETSOLUTION(), setupStart(), and userF().

    ◆ SCIPnlpiOracleEvalConstraintValue()

    SCIP_RETCODE SCIPnlpiOracleEvalConstraintValue ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    int  considx,
    const SCIP_Real *  x,
    SCIP_Real *  conval 
    )

    evaluates one constraint function in a given point

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    considxindex of constraint to evaluate
    xpoint where to evaluate
    convalpointer to store constraint value

    Definition at line 2246 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracle::evalclock, evalFunctionValue(), NULL, SCIP_NlpiOracle::nvars, SCIP_CALL, SCIPdebugMessage, SCIPstartClock(), SCIPstopClock(), and x.

    Referenced by F77_FUNC(), FDEval(), and setupStart().

    ◆ SCIPnlpiOracleEvalConstraintValues()

    SCIP_RETCODE SCIPnlpiOracleEvalConstraintValues ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const SCIP_Real *  x,
    SCIP_Real *  convals 
    )

    evaluates all constraint functions in a given point

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    xpoint where to evaluate
    convalsbuffer to store constraint values

    Definition at line 2270 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracle::evalclock, evalFunctionValue(), SCIP_NlpiOracle::nconss, NULL, SCIP_NlpiOracle::nvars, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPstartClock(), SCIPstopClock(), and x.

    Referenced by userG().

    ◆ SCIPnlpiOracleEvalObjectiveInterval()

    SCIP_RETCODE SCIPnlpiOracleEvalObjectiveInterval ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    SCIP_Real  infinity,
    const SCIP_Real *  xmin,
    const SCIP_Real *  xmax,
    SCIP_Real *  objmin,
    SCIP_Real *  objmax 
    )

    interval evaluate objective function for given variable bounds

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    infinityvalue for infinity
    xminlower bound on variable interval
    xmaxupper bound on variable interval
    objminbuffer to store lower bound of objective
    objmaxbuffer to store upper bound of objective

    Definition at line 2299 of file nlpioracle.c.

    References SCIP_NlpiOracle::evalclock, evalFunctionInterval(), infinity, SCIP_NlpiOracleCons::lhs, NULL, SCIP_NlpiOracle::nvars, SCIP_NlpiOracle::objective, SCIP_NlpiOracleCons::rhs, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPstartClock(), and SCIPstopClock().

    Referenced by FDInterval().

    ◆ SCIPnlpiOracleEvalConstraintInterval()

    SCIP_RETCODE SCIPnlpiOracleEvalConstraintInterval ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    SCIP_Real  infinity,
    int  considx,
    const SCIP_Real *  xmin,
    const SCIP_Real *  xmax,
    SCIP_Real *  conmin,
    SCIP_Real *  conmax 
    )

    interval evaluate one constraint function for given variable bounds

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    infinityvalue for infinity
    considxindex of constraint to evaluate
    xminlower bound on variable interval
    xmaxupper bound on variable interval
    conminbuffer to store lower bound of constraint
    conmaxbuffer to store upper bound of constraint

    Definition at line 2336 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracle::evalclock, evalFunctionInterval(), infinity, NULL, SCIP_NlpiOracle::nvars, SCIP_CALL, SCIPdebugMessage, SCIPstartClock(), and SCIPstopClock().

    Referenced by FDInterval().

    ◆ SCIPnlpiOracleEvalObjectiveGradient()

    SCIP_RETCODE SCIPnlpiOracleEvalObjectiveGradient ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const SCIP_Real *  x,
    SCIP_Bool  isnewx,
    SCIP_Real *  objval,
    SCIP_Real *  objgrad 
    )

    computes the objective gradient in a given point

    Returns
    SCIP_INVALIDDATA, if the function or its gradient could not be evaluated (domain error, etc.)
    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    xpoint where to evaluate
    isnewxhas the point x changed since the last call to some evaluation function?
    objvalpointer to store objective value
    objgradpointer to store (dense) objective gradient

    Definition at line 2368 of file nlpioracle.c.

    References SCIP_NlpiOracle::evalclock, evalFunctionGradient(), SCIP_NlpiOracleCons::lhs, NULL, SCIP_NlpiOracle::objective, SCIP_NlpiOracleCons::rhs, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPstartClock(), SCIPstopClock(), and x.

    Referenced by F77_FUNC(), FDEval(), setupStart(), and userDF().

    ◆ SCIPnlpiOracleEvalConstraintGradient()

    SCIP_RETCODE SCIPnlpiOracleEvalConstraintGradient ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const int  considx,
    const SCIP_Real *  x,
    SCIP_Bool  isnewx,
    SCIP_Real *  conval,
    SCIP_Real *  congrad 
    )

    computes a constraints gradient in a given point

    Returns
    SCIP_INVALIDDATA, if the function or its gradient could not be evaluated (domain error, etc.)
    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    considxindex of constraint to compute gradient for
    xpoint where to evaluate
    isnewxhas the point x changed since the last call to some evaluation function?
    convalpointer to store constraint value
    congradpointer to store (dense) constraint gradient

    Definition at line 2397 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracle::evalclock, evalFunctionGradient(), NULL, SCIP_NlpiOracle::nvars, SCIP_CALL, SCIPdebugMessage, SCIPstartClock(), SCIPstopClock(), and x.

    Referenced by FDEval().

    ◆ SCIPnlpiOracleGetJacobianRowSparsity()

    SCIP_RETCODE SCIPnlpiOracleGetJacobianRowSparsity ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const int **  rowoffsets,
    const int **  cols,
    const SCIP_Bool **  colnlflags,
    int *  nnlnz 
    )

    gets sparsity pattern (rowwise) of Jacobian matrix

    Note that internal data is returned in *rowoffsets and *cols, thus the user does not need to allocate memory there. Adding or deleting constraints destroys the sparsity structure and make another call to this function necessary.

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    rowoffsetspointer to store pointer that stores the offsets to each rows sparsity pattern in col, can be NULL
    colspointer to store pointer that stores the indices of variables that appear in each row, rowoffsets[nconss] gives length of col, can be NULL
    colnlflagsflags indicating whether an entry in nonlinear (sorted row-wise), can be NULL
    nnlnznumber of nonlinear nonzeroes

    Definition at line 2427 of file nlpioracle.c.

    References computeRowJacobianSparsity(), SCIP_NlpiOracle::evalclock, SCIP_NlpiOracle::jaccolnlflags, SCIP_NlpiOracle::jaccols, SCIP_NlpiOracle::jacrowoffsets, SCIP_NlpiOracle::nconss, SCIP_NlpiOracle::njacnlnz, NULL, SCIP_NlpiOracle::nvars, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPstartClock(), and SCIPstopClock().

    Referenced by handleNlpParam(), initWorhp(), and setupGradients().

    ◆ SCIPnlpiOracleGetJacobianColSparsity()

    SCIP_RETCODE SCIPnlpiOracleGetJacobianColSparsity ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const int **  coloffsets,
    const int **  rows,
    const SCIP_Bool **  rownlflags,
    int *  nnlnz 
    )

    gets sparsity pattern (columnwise) of Jacobian matrix

    Note that internal data is returned in *coloffsets and *rows, thus the user does not need to allocate memory there. Adding or deleting constraints destroys the sparsity structure and make another call to this function necessary.

    gets sparsity pattern (columnwise) of Jacobian matrix

    Note that internal data is returned in *coloffsets, *rows, and *rownlflags, thus the user does not need to allocate memory there. Adding or deleting constraints destroys the sparsity structure and make another call to this function necessary.

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    coloffsetspointer to store pointer that stores the offsets to each column's sparsity pattern in row, can be NULL
    rowspointer to store pointer that stores the indices of rows that each variable participates in, coloffset[nvars] gives length of row, can be NULL
    rownlflagsflags indicating whether an entry in nonlinear (sorted column-wise), can be NULL
    nnlnznumber of nonlinear nonzeroes

    Definition at line 2481 of file nlpioracle.c.

    References computeRowJacobianSparsity(), SCIP_NlpiOracle::evalclock, SCIP_NlpiOracle::jaccolnlflags, SCIP_NlpiOracle::jaccoloffsets, SCIP_NlpiOracle::jaccols, SCIP_NlpiOracle::jacrownlflags, SCIP_NlpiOracle::jacrowoffsets, SCIP_NlpiOracle::jacrows, SCIP_NlpiOracle::nconss, SCIP_NlpiOracle::njacnlnz, NULL, SCIP_NlpiOracle::nvars, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPallocClearBlockMemoryArray, SCIPdebugMessage, SCIPfreeBlockMemoryArray, SCIPstartClock(), and SCIPstopClock().

    Referenced by initConopt(), and ReadMatrix().

    ◆ SCIPnlpiOracleGetObjGradientNnz()

    SCIP_RETCODE SCIPnlpiOracleGetObjGradientNnz ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const int **  nz,
    const SCIP_Bool **  nlnz,
    int *  nnz,
    int *  nnlnz 
    )

    gets nonzero indices in the objective gradient

    Note that internal data is returned in *nz and *nlnz, thus the user does not need to allocate memory there.

    gets nonzero indices in the objective gradient

    Note that internal data is returned in *nz, thus the user does not need to allocate memory there.

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    nzpointer to store pointer that stores the nonzeroes of the objective gradient
    nlnzflags marking nonlinear nonzeroes
    nnznumber of nonzeroes
    nnlnznumber of nonlinear nonzeroes

    Definition at line 2573 of file nlpioracle.c.

    References SCIP_NlpiOracle::evalclock, SCIP_NlpiOracleCons::expr, FALSE, SCIP_NlpiOracleCons::linidxs, SCIP_NlpiOracleCons::nlinidxs, SCIP_NlpiOracle::nobjgradnlnz, SCIP_NlpiOracle::nobjgradnz, NULL, SCIP_NlpiOracle::nvars, SCIP_NlpiOracle::objective, SCIP_NlpiOracle::objgradnz, SCIP_NlpiOracle::objnlflags, SCIP_Bool, SCIP_CALL, SCIP_EXPRITER_DFS, SCIP_OKAY, SCIPallocCleanBufferArray, SCIPallocClearBlockMemoryArray, SCIPcreateExpriter(), SCIPdebugMessage, SCIPduplicateBlockMemoryArray, SCIPexpriterGetNext(), SCIPexpriterInit(), SCIPexpriterIsEnd(), SCIPexpriterRestartDFS(), SCIPfreeCleanBufferArray, SCIPfreeExpriter(), SCIPgetIndexExprVaridx(), SCIPisExprVaridx(), SCIPstartClock(), SCIPstopClock(), and TRUE.

    Referenced by initConopt(), and ReadMatrix().

    ◆ SCIPnlpiOracleEvalJacobian()

    SCIP_RETCODE SCIPnlpiOracleEvalJacobian ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const SCIP_Real *  x,
    SCIP_Bool  isnewx,
    SCIP_Real *  convals,
    SCIP_Real *  jacobi 
    )

    evaluates the Jacobian matrix in a given point

    The values in the Jacobian matrix are returned in the same order as specified by the offset and col arrays obtained by SCIPnlpiOracleGetJacobianRowSparsity(). The user need to call SCIPnlpiOracleGetJacobianRowSparsity() at least ones before using this function.

    Returns
    SCIP_INVALIDDATA, if the Jacobian could not be evaluated (domain error, etc.)
    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    xpoint where to evaluate
    isnewxhas the point x changed since the last call to some evaluation function?
    convalspointer to store constraint values, can be NULL
    jacobipointer to store sparse jacobian values

    Definition at line 2706 of file nlpioracle.c.

    References ABS, BMSclearMemoryArray, BMScopyMemoryArray, SCIP_NlpiOracle::conss, SCIP_NlpiOracle::evalclock, SCIP_NlpiOracleCons::expr, SCIP_NlpiOracleCons::exprintdata, SCIP_NlpiOracle::exprinterpreter, SCIP_NlpiOracle::jaccols, SCIP_NlpiOracle::jacrowoffsets, SCIP_NlpiOracleCons::lincoefs, SCIP_NlpiOracleCons::linidxs, SCIP_NlpiOracle::nconss, SCIP_NlpiOracleCons::nlinidxs, NULL, SCIP_NlpiOracle::nvars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPallocCleanBufferArray, SCIPdebug, SCIPdebugMessage, SCIPdebugMsg, SCIPexprintGrad(), SCIPfreeCleanBufferArray, SCIPisFinite, SCIPisInfinity(), SCIPstartClock(), SCIPstopClock(), and x.

    Referenced by F77_FUNC(), setupStart(), and userDG().

    ◆ SCIPnlpiOracleGetHessianLagSparsity()

    SCIP_RETCODE SCIPnlpiOracleGetHessianLagSparsity ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const int **  offset,
    const int **  allnz,
    SCIP_Bool  colwise 
    )

    gets sparsity pattern of the Hessian matrix of the Lagrangian

    Note that internal data is returned in *offset and *col, thus the user must not to allocate memory there. Adding or deleting variables, objective, or constraints may destroy the sparsity structure and make another call to this function necessary. Only elements of the lower left triangle and the diagonal are counted.

    gets sparsity pattern of the Hessian matrix of the Lagrangian

    Note that internal data is returned in *offset and *nzs, thus the user must not to allocate memory there. Adding or deleting variables, objective, or constraints may destroy the sparsity structure and make another call to this function necessary. Only elements of the lower left triangle and the diagonal are counted.

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    offsetpointer to store pointer that stores the offsets to each row's (or col's if colwise == TRUE) sparsity pattern in nzs, can be NULL
    allnzpointer to store pointer that stores the indices of variables that appear in each row (or col if colwise = TRUE), offset[nvars] gives length of nzs, can be NULL
    colwisetells whether a columnwise (TRUE) or rowwise representation is needed

    Definition at line 2833 of file nlpioracle.c.

    References BMSclearMemoryArray, SCIP_NlpiOracle::conss, SCIP_NlpiOracle::evalclock, SCIP_NlpiOracleCons::expr, SCIP_NlpiOracleCons::exprintdata, SCIP_NlpiOracle::hescolwise, SCIP_NlpiOracle::heslagnzs, SCIP_NlpiOracle::heslagoffsets, hessLagSparsitySetNzFlagForExpr(), SCIP_NlpiOracle::nconss, NULL, SCIP_NlpiOracle::nvars, SCIP_NlpiOracle::objective, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPdebugMessage, SCIPfreeBlockMemoryArray, SCIPfreeBlockMemoryArrayNull, SCIPstartClock(), and SCIPstopClock().

    Referenced by initConopt(), initWorhp(), LagrStr(), setupHessian(), and userHM().

    ◆ SCIPnlpiOracleEvalHessianLag()

    SCIP_RETCODE SCIPnlpiOracleEvalHessianLag ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    const SCIP_Real *  x,
    SCIP_Bool  isnewx_obj,
    SCIP_Bool  isnewx_cons,
    SCIP_Real  objfactor,
    const SCIP_Real *  lambda,
    SCIP_Real *  hessian,
    SCIP_Bool  colwise 
    )

    evaluates the Hessian matrix of the Lagrangian in a given point

    The values in the Hessian matrix are returned in the same order as specified by the offset and col arrays obtained by SCIPnlpiOracleGetHessianLagSparsity(). The user must call SCIPnlpiOracleGetHessianLagSparsity() at least ones before using this function. Only elements of the lower left triangle and the diagonal are computed.

    Returns
    SCIP_INVALIDDATA, if the Hessian could not be evaluated (domain error, etc.)
    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    xpoint where to evaluate
    isnewx_objhas the point x changed since the last call to an objective evaluation function?
    isnewx_conshas the point x changed since the last call to the constraint evaluation function?
    objfactorweight for objective function
    lambdaweights (Lagrangian multipliers) for the constraints
    hessianpointer to store sparse hessian values
    colwisewhether the entries should be first sorted column-wise (TRUE) or row-wise

    Definition at line 2933 of file nlpioracle.c.

    References BMSclearMemoryArray, SCIP_NlpiOracle::conss, SCIP_NlpiOracle::evalclock, SCIP_NlpiOracleCons::expr, SCIP_NlpiOracleCons::exprintdata, SCIP_NlpiOracle::hescolwise, SCIP_NlpiOracle::heslagnzs, SCIP_NlpiOracle::heslagoffsets, hessLagAddExpr(), SCIP_NlpiOracle::nconss, NULL, SCIP_NlpiOracle::nvars, SCIP_NlpiOracle::objective, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPstartClock(), SCIPstopClock(), and x.

    Referenced by F77_FUNC(), LagrVal(), and userHM().

    ◆ SCIPnlpiOracleResetEvalTime()

    SCIP_RETCODE SCIPnlpiOracleResetEvalTime ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle 
    )

    resets clock that measures evaluation time

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure

    Definition at line 2984 of file nlpioracle.c.

    References SCIP_NlpiOracle::evalclock, NULL, SCIP_CALL, SCIP_OKAY, and SCIPresetClock().

    Referenced by SCIP_DECL_NLPISOLVE().

    ◆ SCIPnlpiOracleGetEvalTime()

    SCIP_Real SCIPnlpiOracleGetEvalTime ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle 
    )

    gives time spend in evaluation since last reset of clock

    Gives 0 if the eval clock is disabled.

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure

    Definition at line 3000 of file nlpioracle.c.

    References SCIP_NlpiOracle::evalclock, NULL, and SCIPgetClockTime().

    Referenced by SCIP_DECL_NLPIGETSTATISTICS().

    ◆ SCIPnlpiOraclePrintProblem()

    SCIP_RETCODE SCIPnlpiOraclePrintProblem ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    FILE *  file 
    )

    ◆ SCIPnlpiOraclePrintProblemGams()

    SCIP_RETCODE SCIPnlpiOraclePrintProblemGams ( SCIP *  scip,
    SCIP_NLPIORACLE *  oracle,
    SCIP_Real *  initval,
    FILE *  file 
    )

    prints the problem to a file in GAMS format

    If there are variable (equation, resp.) names with more than 9 characters, then variable (equation, resp.) names are prefixed with an unique identifier. This is to make it easier to identify variables solution output in the listing file. Names with more than 64 characters are shorten to 64 letters due to GAMS limits.

    Parameters
    scipSCIP data structure
    oraclepointer to NLPIORACLE data structure
    initvalstarting point values for variables or NULL
    filefile to print to, or NULL for standard output

    Definition at line 3079 of file nlpioracle.c.

    References SCIP_NlpiOracle::conss, SCIP_NlpiOracleCons::expr, exprIsNonSmooth(), FALSE, SCIP_NlpiOracleCons::lhs, SCIP_NlpiOracleCons::name, SCIP_NlpiOracle::name, SCIP_NlpiOracle::nconss, NULL, SCIP_NlpiOracle::nvars, SCIP_NlpiOracle::objective, printFunction(), printName(), SCIP_NlpiOracleCons::rhs, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPinfoMessage(), SCIPisInfinity(), SCIPsnprintf(), TRUE, SCIP_NlpiOracle::varlbs, SCIP_NlpiOracle::varnames, and SCIP_NlpiOracle::varubs.