Scippy

    SCIP

    Solving Constraint Integer Programs

    nlpi.h
    Go to the documentation of this file.
    1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    2/* */
    3/* This file is part of the program and library */
    4/* SCIP --- Solving Constraint Integer Programs */
    5/* */
    6/* Copyright (c) 2002-2025 Zuse Institute Berlin (ZIB) */
    7/* */
    8/* Licensed under the Apache License, Version 2.0 (the "License"); */
    9/* you may not use this file except in compliance with the License. */
    10/* You may obtain a copy of the License at */
    11/* */
    12/* http://www.apache.org/licenses/LICENSE-2.0 */
    13/* */
    14/* Unless required by applicable law or agreed to in writing, software */
    15/* distributed under the License is distributed on an "AS IS" BASIS, */
    16/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
    17/* See the License for the specific language governing permissions and */
    18/* limitations under the License. */
    19/* */
    20/* You should have received a copy of the Apache-2.0 license */
    21/* along with SCIP; see the file LICENSE. If not visit scipopt.org. */
    22/* */
    23/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
    24
    25/**@file nlpi.h
    26 * @ingroup INTERNALAPI
    27 * @brief internal methods for NLP solver interfaces
    28 * @author Stefan Vigerske
    29 * @author Thorsten Gellermann
    30 */
    31
    32/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
    33
    34#ifndef __SCIP_NLPI_H__
    35#define __SCIP_NLPI_H__
    36
    37#include "scip/type_nlpi.h"
    38#include "scip/type_misc.h"
    39#include "scip/type_set.h"
    40#include "scip/type_stat.h"
    42
    43#ifdef __cplusplus
    44extern "C" {
    45#endif
    46
    47/** creates an NLP solver interface */
    49 SCIP_NLPI** nlpi, /**< pointer to NLP interface data structure */
    50 const char* name, /**< name of NLP interface */
    51 const char* description, /**< description of NLP interface */
    52 int priority, /**< priority of NLP interface */
    53 SCIP_DECL_NLPICOPY ((*nlpicopy)), /**< copying of NLPI, can be NULL */
    54 SCIP_DECL_NLPIFREE ((*nlpifree)), /**< free NLPI user data */
    55 SCIP_DECL_NLPIGETSOLVERPOINTER ((*nlpigetsolverpointer)), /**< get solver pointer, can be NULL */
    56 SCIP_DECL_NLPICREATEPROBLEM ((*nlpicreateproblem)), /**< create a new problem instance */
    57 SCIP_DECL_NLPIFREEPROBLEM ((*nlpifreeproblem)), /**< free a problem instance */
    58 SCIP_DECL_NLPIGETPROBLEMPOINTER ((*nlpigetproblempointer)), /**< get problem pointer, can be NULL */
    59 SCIP_DECL_NLPIADDVARS ((*nlpiaddvars)), /**< add variables */
    60 SCIP_DECL_NLPIADDCONSTRAINTS ((*nlpiaddconstraints)), /**< add constraints */
    61 SCIP_DECL_NLPISETOBJECTIVE ((*nlpisetobjective)), /**< set objective */
    62 SCIP_DECL_NLPICHGVARBOUNDS ((*nlpichgvarbounds)), /**< change variable bounds */
    63 SCIP_DECL_NLPICHGCONSSIDES ((*nlpichgconssides)), /**< change constraint sides */
    64 SCIP_DECL_NLPIDELVARSET ((*nlpidelvarset)), /**< delete a set of constraints */
    65 SCIP_DECL_NLPIDELCONSSET ((*nlpidelconsset)), /**< delete a set of constraints */
    66 SCIP_DECL_NLPICHGLINEARCOEFS ((*nlpichglinearcoefs)), /**< change coefficients in linear part of a constraint or objective */
    67 SCIP_DECL_NLPICHGEXPR ((*nlpichgexpr)), /**< change nonlinear expression a constraint or objective */
    68 SCIP_DECL_NLPICHGOBJCONSTANT ((*nlpichgobjconstant)), /**< change the constant offset in the objective */
    69 SCIP_DECL_NLPISETINITIALGUESS ((*nlpisetinitialguess)), /**< set initial guess, can be NULL */
    70 SCIP_DECL_NLPISOLVE ((*nlpisolve)), /**< solve NLP */
    71 SCIP_DECL_NLPIGETSOLSTAT ((*nlpigetsolstat)), /**< get solution status */
    72 SCIP_DECL_NLPIGETTERMSTAT ((*nlpigettermstat)), /**< get termination status */
    73 SCIP_DECL_NLPIGETSOLUTION ((*nlpigetsolution)), /**< get solution */
    74 SCIP_DECL_NLPIGETSTATISTICS ((*nlpigetstatistics)), /**< get solve statistics */
    75 SCIP_NLPIDATA* nlpidata /**< NLP interface local data */
    76 );
    77
    78/** sets NLP solver priority */
    80 SCIP_NLPI* nlpi, /**< NLP interface structure */
    81 int priority /**< new priority of NLPI */
    82 );
    83
    84/** copies an NLPI and includes it into another SCIP instance */
    86 SCIP_NLPI* sourcenlpi, /**< the NLP interface to copy */
    87 SCIP_SET* targetset /**< global SCIP settings where to include copy */
    88 );
    89
    90/** frees NLPI */
    92 SCIP_NLPI** nlpi, /**< pointer to NLPI data structure */
    93 SCIP_SET* set /**< global SCIP settings */
    94 );
    95
    96/** initializes NLPI */
    97void SCIPnlpiInit(
    98 SCIP_NLPI* nlpi /**< solver interface */
    99 );
    100
    101/** gets pointer for NLP solver */
    103 SCIP_SET* set, /**< global SCIP settings */
    104 SCIP_NLPI* nlpi, /**< solver interface */
    105 SCIP_NLPIPROBLEM* problem /**< problem instance, or NULL */
    106 );
    107
    108/** creates a problem instance */
    110 SCIP_SET* set, /**< global SCIP settings */
    111 SCIP_NLPI* nlpi, /**< solver interface */
    112 SCIP_NLPIPROBLEM** problem, /**< problem pointer to store the problem data */
    113 const char* name /**< name of problem, can be NULL */
    114 );
    115
    116/** frees a problem instance */
    118 SCIP_SET* set, /**< global SCIP settings */
    119 SCIP_NLPI* nlpi, /**< solver interface */
    120 SCIP_NLPIPROBLEM** problem /**< pointer where problem instance is stored */
    121 );
    122
    123/** gets pointer to solver-internal problem instance */
    125 SCIP_SET* set, /**< global SCIP settings */
    126 SCIP_NLPI* nlpi, /**< solver interface */
    127 SCIP_NLPIPROBLEM* problem /**< problem instance */
    128 );
    129
    130/** add variables to nlpi */
    132 SCIP_SET* set, /**< global SCIP settings */
    133 SCIP_NLPI* nlpi, /**< solver interface */
    134 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    135 int nvars, /**< number of variables */
    136 const SCIP_Real* lbs, /**< lower bounds of variables, can be NULL if -infinity */
    137 const SCIP_Real* ubs, /**< upper bounds of variables, can be NULL if +infinity */
    138 const char** varnames /**< names of variables, can be NULL */
    139 );
    140
    141/** add constraints to nlpi */
    143 SCIP_SET* set, /**< global SCIP settings */
    144 SCIP_NLPI* nlpi, /**< solver interface */
    145 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    146 int nconss, /**< number of constraints */
    147 const SCIP_Real* lhss, /**< left hand sides of constraints, can be NULL if -infinity */
    148 const SCIP_Real* rhss, /**< right hand sides of constraints, can be NULL if +infinity */
    149 const int* nlininds, /**< number of linear coefficients for each constraint, may be NULL in case of no linear part */
    150 int* const* lininds, /**< indices of variables for linear coefficients for each constraint, may be NULL in case of no linear part */
    151 SCIP_Real* const* linvals, /**< values of linear coefficient for each constraint, may be NULL in case of no linear part */
    152 SCIP_EXPR** exprs, /**< expressions for nonlinear part of constraints, entry of array may be NULL in case of no nonlinear part, may be NULL in case of no nonlinear part in any constraint */
    153 const char** names /**< names of constraints, may be NULL or entries may be NULL */
    154 );
    155
    156/** sets or overwrites objective, a minimization problem is expected */
    158 SCIP_SET* set, /**< global SCIP settings */
    159 SCIP_NLPI* nlpi, /**< solver interface */
    160 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    161 int nlins, /**< number of linear variables */
    162 const int* lininds, /**< variable indices, may be NULL in case of no linear part */
    163 const SCIP_Real* linvals, /**< coefficient values, may be NULL in case of no linear part */
    164 SCIP_EXPR* expr, /**< expression for nonlinear part of objective function, may be NULL in case of no nonlinear part */
    165 const SCIP_Real constant /**< objective value offset */
    166 );
    167
    168/** change variable bounds */
    170 SCIP_SET* set, /**< global SCIP settings */
    171 SCIP_NLPI* nlpi, /**< solver interface */
    172 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    173 const int nvars, /**< number of variables to change bounds */
    174 const int* indices, /**< indices of variables to change bounds */
    175 const SCIP_Real* lbs, /**< new lower bounds */
    176 const SCIP_Real* ubs /**< new upper bounds */
    177 );
    178
    179/** change constraint sides */
    181 SCIP_SET* set, /**< global SCIP settings */
    182 SCIP_NLPI* nlpi, /**< solver interface */
    183 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    184 int nconss, /**< number of constraints to change sides */
    185 const int* indices, /**< indices of constraints to change sides */
    186 const SCIP_Real* lhss, /**< new left hand sides */
    187 const SCIP_Real* rhss /**< new right hand sides */
    188 );
    189
    190/** delete a set of variables */
    192 SCIP_SET* set, /**< global SCIP settings */
    193 SCIP_NLPI* nlpi, /**< solver interface */
    194 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    195 int* dstats, /**< deletion status of vars; 1 if var should be deleted, 0 if not */
    196 int dstatssize /**< size of the dstats array */
    197 );
    198
    199/** delete a set of constraints */
    201 SCIP_SET* set, /**< global SCIP settings */
    202 SCIP_NLPI* nlpi, /**< solver interface */
    203 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    204 int* dstats, /**< deletion status of constraints; 1 if constraint should be deleted, 0 if not */
    205 int dstatssize /**< size of the dstats array */
    206 );
    207
    208/** changes or adds linear coefficients in a constraint or objective */
    210 SCIP_SET* set, /**< global SCIP settings */
    211 SCIP_NLPI* nlpi, /**< solver interface */
    212 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    213 int idx, /**< index of constraint or -1 for objective */
    214 int nvals, /**< number of values in linear constraint to change */
    215 const int* varidxs, /**< indices of variables which coefficient to change */
    216 const SCIP_Real* vals /**< new values for coefficients */
    217 );
    218
    219/** change the expression in the nonlinear part */
    221 SCIP_SET* set, /**< global SCIP settings */
    222 SCIP_NLPI* nlpi, /**< solver interface */
    223 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    224 int idxcons, /**< index of constraint or -1 for objective */
    225 SCIP_EXPR* expr /**< new expression for constraint or objective, or NULL to only remove previous tree */
    226 );
    227
    228/** change the constant offset in the objective */
    230 SCIP_SET* set, /**< global SCIP settings */
    231 SCIP_NLPI* nlpi, /**< solver interface */
    232 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    233 SCIP_Real objconstant /**< new value for objective constant */
    234 );
    235
    236/** sets initial guess for primal variables */
    238 SCIP_SET* set, /**< global SCIP settings */
    239 SCIP_NLPI* nlpi, /**< solver interface */
    240 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    241 SCIP_Real* primalvalues, /**< initial primal values for variables, or NULL to clear previous values */
    242 SCIP_Real* consdualvalues, /**< initial dual values for constraints, or NULL to clear previous values */
    243 SCIP_Real* varlbdualvalues, /**< initial dual values for variable lower bounds, or NULL to clear previous values */
    244 SCIP_Real* varubdualvalues /**< initial dual values for variable upper bounds, or NULL to clear previous values */
    245 );
    246
    247/** tries to solve NLP */
    249 SCIP_SET* set, /**< global SCIP settings */
    250 SCIP_STAT* stat, /**< problem statistics */
    251 SCIP_NLPI* nlpi, /**< solver interface */
    252 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    253 SCIP_NLPPARAM* param /**< solve parameters */
    254 );
    255
    256/** gives solution status */
    258 SCIP_SET* set, /**< global SCIP settings */
    259 SCIP_NLPI* nlpi, /**< solver interface */
    260 SCIP_NLPIPROBLEM* problem /**< problem instance */
    261 );
    262
    263/** gives termination reason */
    265 SCIP_SET* set, /**< global SCIP settings */
    266 SCIP_NLPI* nlpi, /**< solver interface */
    267 SCIP_NLPIPROBLEM* problem /**< problem instance */
    268 );
    269
    270/** gives primal and dual solution
    271 * for a ranged constraint, the dual variable is positive if the right hand side is active and negative if the left hand side is active
    272 */
    274 SCIP_SET* set, /**< global SCIP settings */
    275 SCIP_NLPI* nlpi, /**< solver interface */
    276 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    277 SCIP_Real** primalvalues, /**< buffer to store pointer to array to primal values, or NULL if not needed */
    278 SCIP_Real** consdualvalues, /**< buffer to store pointer to array to dual values of constraints, or NULL if not needed */
    279 SCIP_Real** varlbdualvalues, /**< buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed */
    280 SCIP_Real** varubdualvalues, /**< buffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed */
    281 SCIP_Real* objval /**< pointer to store the objective value, or NULL if not needed */
    282 );
    283
    284/** gives solve statistics */
    286 SCIP_SET* set, /**< global SCIP settings */
    287 SCIP_NLPI* nlpi, /**< solver interface */
    288 SCIP_NLPIPROBLEM* problem, /**< problem instance */
    289 SCIP_NLPSTATISTICS* statistics /**< pointer to store statistics */
    290 );
    291
    292#ifdef __cplusplus
    293}
    294#endif
    295
    296#endif /* __SCIP_NLPI_H__ */
    #define SCIP_Real
    Definition: def.h:156
    memory allocation routines
    SCIP_RETCODE SCIPnlpiSetInitialGuess(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real *primalvalues, SCIP_Real *consdualvalues, SCIP_Real *varlbdualvalues, SCIP_Real *varubdualvalues)
    Definition: nlpi.c:528
    SCIP_RETCODE SCIPnlpiChgVarBounds(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, const int nvars, const int *indices, const SCIP_Real *lbs, const SCIP_Real *ubs)
    Definition: nlpi.c:376
    SCIP_RETCODE SCIPnlpiSetObjective(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nlins, const int *lininds, const SCIP_Real *linvals, SCIP_EXPR *expr, const SCIP_Real constant)
    Definition: nlpi.c:352
    SCIP_RETCODE SCIPnlpiGetStatistics(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPSTATISTICS *statistics)
    Definition: nlpi.c:675
    SCIP_NLPSOLSTAT SCIPnlpiGetSolstat(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
    Definition: nlpi.c:621
    SCIP_RETCODE SCIPnlpiFreeProblem(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem)
    Definition: nlpi.c:266
    SCIP_RETCODE SCIPnlpiChgObjConstant(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real objconstant)
    Definition: nlpi.c:508
    SCIP_RETCODE SCIPnlpiDelVarSet(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats, int dstatssize)
    Definition: nlpi.c:422
    SCIP_RETCODE SCIPnlpiAddConstraints(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, 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 **names)
    Definition: nlpi.c:325
    SCIP_RETCODE SCIPnlpiSolve(SCIP_SET *set, SCIP_STAT *stat, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM *param)
    Definition: nlpi.c:551
    SCIP_RETCODE SCIPnlpiDelConsSet(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats, int dstatssize)
    Definition: nlpi.c:443
    void * SCIPnlpiGetProblemPointer(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
    Definition: nlpi.c:285
    SCIP_RETCODE SCIPnlpiAddVars(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nvars, const SCIP_Real *lbs, const SCIP_Real *ubs, const char **varnames)
    Definition: nlpi.c:302
    SCIP_RETCODE SCIPnlpiGetSolution(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real **primalvalues, SCIP_Real **consdualvalues, SCIP_Real **varlbdualvalues, SCIP_Real **varubdualvalues, SCIP_Real *objval)
    Definition: nlpi.c:653
    SCIP_RETCODE SCIPnlpiFree(SCIP_NLPI **nlpi, SCIP_SET *set)
    Definition: nlpi.c:184
    SCIP_RETCODE SCIPnlpiChgExpr(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idxcons, SCIP_EXPR *expr)
    Definition: nlpi.c:487
    void * SCIPnlpiGetSolverPointer(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
    Definition: nlpi.c:228
    SCIP_RETCODE SCIPnlpiChgConsSides(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int nconss, const int *indices, const SCIP_Real *lhss, const SCIP_Real *rhss)
    Definition: nlpi.c:399
    SCIP_RETCODE SCIPnlpiCreate(SCIP_NLPI **nlpi, const char *name, const char *description, int priority, SCIP_DECL_NLPICOPY((*nlpicopy)), SCIP_DECL_NLPIFREE((*nlpifree)), SCIP_DECL_NLPIGETSOLVERPOINTER((*nlpigetsolverpointer)), SCIP_DECL_NLPICREATEPROBLEM((*nlpicreateproblem)), SCIP_DECL_NLPIFREEPROBLEM((*nlpifreeproblem)), SCIP_DECL_NLPIGETPROBLEMPOINTER((*nlpigetproblempointer)), SCIP_DECL_NLPIADDVARS((*nlpiaddvars)), SCIP_DECL_NLPIADDCONSTRAINTS((*nlpiaddconstraints)), SCIP_DECL_NLPISETOBJECTIVE((*nlpisetobjective)), SCIP_DECL_NLPICHGVARBOUNDS((*nlpichgvarbounds)), SCIP_DECL_NLPICHGCONSSIDES((*nlpichgconssides)), SCIP_DECL_NLPIDELVARSET((*nlpidelvarset)), SCIP_DECL_NLPIDELCONSSET((*nlpidelconsset)), SCIP_DECL_NLPICHGLINEARCOEFS((*nlpichglinearcoefs)), SCIP_DECL_NLPICHGEXPR((*nlpichgexpr)), SCIP_DECL_NLPICHGOBJCONSTANT((*nlpichgobjconstant)), SCIP_DECL_NLPISETINITIALGUESS((*nlpisetinitialguess)), SCIP_DECL_NLPISOLVE((*nlpisolve)), SCIP_DECL_NLPIGETSOLSTAT((*nlpigetsolstat)), SCIP_DECL_NLPIGETTERMSTAT((*nlpigettermstat)), SCIP_DECL_NLPIGETSOLUTION((*nlpigetsolution)), SCIP_DECL_NLPIGETSTATISTICS((*nlpigetstatistics)), SCIP_NLPIDATA *nlpidata)
    Definition: nlpi.c:53
    void SCIPnlpiSetPriority(SCIP_NLPI *nlpi, int priority)
    Definition: nlpi.c:156
    SCIP_RETCODE SCIPnlpiCopyInclude(SCIP_NLPI *sourcenlpi, SCIP_SET *targetset)
    Definition: nlpi.c:167
    SCIP_NLPTERMSTAT SCIPnlpiGetTermstat(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
    Definition: nlpi.c:636
    void SCIPnlpiInit(SCIP_NLPI *nlpi)
    Definition: nlpi.c:211
    SCIP_RETCODE SCIPnlpiCreateProblem(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem, const char *name)
    Definition: nlpi.c:244
    SCIP_RETCODE SCIPnlpiChgLinearCoefs(SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idx, int nvals, const int *varidxs, const SCIP_Real *vals)
    Definition: nlpi.c:464
    Definition: heur_padm.c:135
    type definitions for miscellaneous datastructures
    type definitions for NLP solver interfaces
    #define SCIP_DECL_NLPISOLVE(x)
    Definition: type_nlpi.h:487
    #define SCIP_DECL_NLPICHGLINEARCOEFS(x)
    Definition: type_nlpi.h:422
    #define SCIP_DECL_NLPICHGOBJCONSTANT(x)
    Definition: type_nlpi.h:453
    #define SCIP_DECL_NLPIGETSOLUTION(x)
    Definition: type_nlpi.h:535
    #define SCIP_DECL_NLPISETOBJECTIVE(x)
    Definition: type_nlpi.h:334
    #define SCIP_DECL_NLPICREATEPROBLEM(x)
    Definition: type_nlpi.h:245
    #define SCIP_DECL_NLPIGETSTATISTICS(x)
    Definition: type_nlpi.h:552
    #define SCIP_DECL_NLPIDELCONSSET(x)
    Definition: type_nlpi.h:405
    #define SCIP_DECL_NLPICHGCONSSIDES(x)
    Definition: type_nlpi.h:373
    #define SCIP_DECL_NLPIDELVARSET(x)
    Definition: type_nlpi.h:390
    #define SCIP_DECL_NLPICHGEXPR(x)
    Definition: type_nlpi.h:439
    #define SCIP_DECL_NLPIADDVARS(x)
    Definition: type_nlpi.h:287
    enum SCIP_NlpSolStat SCIP_NLPSOLSTAT
    Definition: type_nlpi.h:168
    #define SCIP_DECL_NLPISETINITIALGUESS(x)
    Definition: type_nlpi.h:471
    #define SCIP_DECL_NLPIFREEPROBLEM(x)
    Definition: type_nlpi.h:257
    #define SCIP_DECL_NLPICOPY(x)
    Definition: type_nlpi.h:205
    #define SCIP_DECL_NLPIGETSOLVERPOINTER(x)
    Definition: type_nlpi.h:233
    #define SCIP_DECL_NLPIGETSOLSTAT(x)
    Definition: type_nlpi.h:501
    #define SCIP_DECL_NLPICHGVARBOUNDS(x)
    Definition: type_nlpi.h:354
    #define SCIP_DECL_NLPIGETPROBLEMPOINTER(x)
    Definition: type_nlpi.h:272
    #define SCIP_DECL_NLPIFREE(x)
    Definition: type_nlpi.h:215
    #define SCIP_DECL_NLPIADDCONSTRAINTS(x)
    Definition: type_nlpi.h:310
    #define SCIP_DECL_NLPIGETTERMSTAT(x)
    Definition: type_nlpi.h:514
    enum SCIP_NlpTermStat SCIP_NLPTERMSTAT
    Definition: type_nlpi.h:184
    struct SCIP_NlpiData SCIP_NLPIDATA
    Definition: type_nlpi.h:52
    enum SCIP_Retcode SCIP_RETCODE
    Definition: type_retcode.h:63
    type definitions for global SCIP settings
    type definitions for problem statistics