Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

methods for handling NLP solver interface

Author
Stefan Vigerske
Thorsten Gellermann

Definition in file nlpi.c.

#include <stdio.h>
#include <assert.h>
#include <string.h>
#include "scip/nlpi.h"
#include "scip/pub_message.h"
#include "scip/pub_nlpi.h"
#include "scip/clock.h"
#include "scip/struct_nlpi.h"
#include "scip/struct_set.h"
#include "scip/struct_stat.h"

Go to the source code of this file.

Functions

 SCIP_DECL_SORTPTRCOMP (SCIPnlpiComp)
 
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)
 
void SCIPnlpiSetPriority (SCIP_NLPI *nlpi, int priority)
 
SCIP_RETCODE SCIPnlpiCopyInclude (SCIP_NLPI *sourcenlpi, SCIP_SET *targetset)
 
SCIP_RETCODE SCIPnlpiFree (SCIP_NLPI **nlpi, SCIP_SET *set)
 
void SCIPnlpiInit (SCIP_NLPI *nlpi)
 
void * SCIPnlpiGetSolverPointer (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_RETCODE SCIPnlpiCreateProblem (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem, const char *name)
 
SCIP_RETCODE SCIPnlpiFreeProblem (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM **problem)
 
void * SCIPnlpiGetProblemPointer (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
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)
 
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)
 
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)
 
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)
 
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)
 
SCIP_RETCODE SCIPnlpiDelVarSet (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats, int dstatssize)
 
SCIP_RETCODE SCIPnlpiDelConsSet (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int *dstats, int dstatssize)
 
SCIP_RETCODE SCIPnlpiChgLinearCoefs (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idx, int nvals, const int *varidxs, const SCIP_Real *vals)
 
SCIP_RETCODE SCIPnlpiChgExpr (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, int idxcons, SCIP_EXPR *expr)
 
SCIP_RETCODE SCIPnlpiChgObjConstant (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real objconstant)
 
SCIP_RETCODE SCIPnlpiSetInitialGuess (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_Real *primalvalues, SCIP_Real *consdualvalues, SCIP_Real *varlbdualvalues, SCIP_Real *varubdualvalues)
 
SCIP_RETCODE SCIPnlpiSolve (SCIP_SET *set, SCIP_STAT *stat, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPPARAM *param)
 
SCIP_NLPSOLSTAT SCIPnlpiGetSolstat (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
SCIP_NLPTERMSTAT SCIPnlpiGetTermstat (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem)
 
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)
 
SCIP_RETCODE SCIPnlpiGetStatistics (SCIP_SET *set, SCIP_NLPI *nlpi, SCIP_NLPIPROBLEM *problem, SCIP_NLPSTATISTICS *statistics)
 
SCIP_NLPIDATASCIPnlpiGetData (SCIP_NLPI *nlpi)
 
const char * SCIPnlpiGetName (SCIP_NLPI *nlpi)
 
const char * SCIPnlpiGetDesc (SCIP_NLPI *nlpi)
 
int SCIPnlpiGetPriority (SCIP_NLPI *nlpi)
 
Statistics
int SCIPnlpiGetNProblems (SCIP_NLPI *nlpi)
 
SCIP_Real SCIPnlpiGetProblemTime (SCIP_NLPI *nlpi)
 
int SCIPnlpiGetNSolves (SCIP_NLPI *nlpi)
 
SCIP_Real SCIPnlpiGetSolveTime (SCIP_NLPI *nlpi)
 
SCIP_Real SCIPnlpiGetEvalTime (SCIP_NLPI *nlpi)
 
SCIP_Longint SCIPnlpiGetNIterations (SCIP_NLPI *nlpi)
 
int SCIPnlpiGetNTermStat (SCIP_NLPI *nlpi, SCIP_NLPTERMSTAT termstatus)
 
int SCIPnlpiGetNSolStat (SCIP_NLPI *nlpi, SCIP_NLPSOLSTAT solstatus)
 
void SCIPnlpiMergeStatistics (SCIP_NLPI *targetnlpi, SCIP_NLPI *sourcenlpi, SCIP_Bool reset)
 

Function Documentation

◆ SCIPnlpiCreate()

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 
)

creates an NLP solver interface

Parameters
nlpipointer to NLP interface data structure
namename of NLP interface
descriptiondescription of NLP interface
prioritypriority of NLP interface
nlpidataNLP interface local data

Definition at line 53 of file nlpi.c.

References BMSallocClearMemory, BMSduplicateMemoryArray, BMSfreeMemory, BMSfreeMemoryArray, NULL, SCIP_ALLOC, SCIP_CLOCKTYPE_DEFAULT, SCIP_NOMEMORY, SCIP_OKAY, and SCIPclockCreate().

Referenced by SCIPincludeNlpi().

◆ SCIPnlpiSetPriority()

void SCIPnlpiSetPriority ( SCIP_NLPI nlpi,
int  priority 
)

sets NLP solver priority

Parameters
nlpiNLP interface structure
prioritynew priority of NLPI

Definition at line 156 of file nlpi.c.

References NULL, and SCIP_Nlpi::priority.

◆ SCIPnlpiCopyInclude()

SCIP_RETCODE SCIPnlpiCopyInclude ( SCIP_NLPI sourcenlpi,
SCIP_SET targetset 
)

copies an NLPI and includes it into another SCIP instance

Parameters
sourcenlpithe NLP interface to copy
targetsetglobal SCIP settings where to include copy

Definition at line 167 of file nlpi.c.

References NULL, SCIP_Set::scip, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIPsetCopyPlugins().

◆ SCIPnlpiFree()

SCIP_RETCODE SCIPnlpiFree ( SCIP_NLPI **  nlpi,
SCIP_SET set 
)

frees NLPI

Parameters
nlpipointer to NLPI data structure
setglobal SCIP settings

Definition at line 184 of file nlpi.c.

References BMSfreeMemory, BMSfreeMemoryArray, SCIP_Nlpi::nlpidata, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().

◆ SCIPnlpiInit()

◆ SCIPnlpiGetSolverPointer()

void* SCIPnlpiGetSolverPointer ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem 
)

gets pointer for NLP solver

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance, or NULL

Definition at line 228 of file nlpi.c.

References NULL.

Referenced by SCIP_DECL_NLPIGETSOLVERPOINTER().

◆ SCIPnlpiCreateProblem()

SCIP_RETCODE SCIPnlpiCreateProblem ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM **  problem,
const char *  name 
)

creates a problem instance

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem pointer to store the problem data
namename of problem, can be NULL

Definition at line 244 of file nlpi.c.

References SCIP_Nlpi::nproblems, NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by SCIP_DECL_NLPICREATEPROBLEM(), SCIPcreateNlpiProblemFromNlRows(), and SCIPnlpCreate().

◆ SCIPnlpiFreeProblem()

SCIP_RETCODE SCIPnlpiFreeProblem ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM **  problem 
)

frees a problem instance

Parameters
setglobal SCIP settings
nlpisolver interface
problempointer where problem instance is stored

Definition at line 266 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by SCIP_DECL_NLPIFREEPROBLEM(), and SCIPnlpFree().

◆ SCIPnlpiGetProblemPointer()

void* SCIPnlpiGetProblemPointer ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem 
)

gets pointer to solver-internal problem instance

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance

Definition at line 285 of file nlpi.c.

References NULL.

Referenced by SCIP_DECL_NLPIGETPROBLEMPOINTER().

◆ SCIPnlpiAddVars()

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 
)

add variables to nlpi

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
nvarsnumber of variables
lbslower bounds of variables, can be NULL if -infinity
ubsupper bounds of variables, can be NULL if +infinity
varnamesnames of variables, can be NULL

Definition at line 302 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by nlpFlushVarAdditions(), and SCIP_DECL_NLPIADDVARS().

◆ SCIPnlpiAddConstraints()

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 
)

add constraints to nlpi

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
nconssnumber of constraints
lhssleft hand sides of constraints, can be NULL if -infinity
rhssright hand sides of constraints, can be NULL if +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
exprsexpressions 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
namesnames of constraints, may be NULL or entries may be NULL

Definition at line 325 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by nlpFlushNlRowAdditions(), and SCIP_DECL_NLPIADDCONSTRAINTS().

◆ SCIPnlpiSetObjective()

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 
)

sets or overwrites objective, a minimization problem is expected

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
nlinsnumber of linear variables
linindsvariable indices, may be NULL in case of no linear part
linvalscoefficient values, may be NULL in case of no linear part
exprexpression for nonlinear part of objective function, may be NULL in case of no nonlinear part
constantobjective value offset

Definition at line 352 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by nlpFlushObjective(), and SCIP_DECL_NLPISETOBJECTIVE().

◆ SCIPnlpiChgVarBounds()

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 
)

change variable bounds

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
nvarsnumber of variables to change bounds
indicesindices of variables to change bounds
lbsnew lower bounds
ubsnew upper bounds

Definition at line 376 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by nlpUpdateVarBounds(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIPnlpChgVarBoundsDive(), SCIPnlpChgVarsBoundsDive(), and SCIPnlpEndDive().

◆ SCIPnlpiChgConsSides()

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 
)

change constraint sides

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
nconssnumber of constraints to change sides
indicesindices of constraints to change sides
lhssnew left hand sides
rhssnew right hand sides

Definition at line 399 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by nlrowConstantChanged(), nlrowSideChanged(), and SCIP_DECL_NLPICHGCONSSIDES().

◆ SCIPnlpiDelVarSet()

SCIP_RETCODE SCIPnlpiDelVarSet ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int *  dstats,
int  dstatssize 
)

delete a set of variables

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
dstatsdeletion status of vars; 1 if var should be deleted, 0 if not
dstatssizesize of the dstats array

Definition at line 422 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by nlpFlushVarDeletions(), and SCIP_DECL_NLPIDELVARSET().

◆ SCIPnlpiDelConsSet()

SCIP_RETCODE SCIPnlpiDelConsSet ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int *  dstats,
int  dstatssize 
)

delete a set of constraints

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
dstatsdeletion status of constraints; 1 if constraint should be deleted, 0 if not
dstatssizesize of the dstats array

Definition at line 443 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by nlpFlushNlRowDeletions(), and SCIP_DECL_NLPIDELCONSSET().

◆ SCIPnlpiChgLinearCoefs()

SCIP_RETCODE SCIPnlpiChgLinearCoefs ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  idx,
int  nvals,
const int *  varidxs,
const SCIP_Real vals 
)

changes or adds linear coefficients in a constraint or objective

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
idxindex of constraint or -1 for objective
nvalsnumber of values in linear constraint to change
varidxsindices of variables which coefficient to change
valsnew values for coefficients

Definition at line 464 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by nlpUpdateObjCoef(), nlrowLinearCoefChanged(), SCIP_DECL_NLPICHGLINEARCOEFS(), and SCIPnlpChgVarObjDive().

◆ SCIPnlpiChgExpr()

SCIP_RETCODE SCIPnlpiChgExpr ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
int  idxcons,
SCIP_EXPR expr 
)

change the expression in the nonlinear part

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
idxconsindex of constraint or -1 for objective
exprnew expression for constraint or objective, or NULL to only remove previous tree

Definition at line 487 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by nlrowExprChanged(), and SCIP_DECL_NLPICHGEXPR().

◆ SCIPnlpiChgObjConstant()

SCIP_RETCODE SCIPnlpiChgObjConstant ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_Real  objconstant 
)

change the constant offset in the objective

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
objconstantnew value for objective constant

Definition at line 508 of file nlpi.c.

References NULL, SCIP_Nlpi::problemtime, SCIP_CALL, SCIP_OKAY, SCIPclockStart(), and SCIPclockStop().

Referenced by SCIP_DECL_NLPICHGOBJCONSTANT().

◆ SCIPnlpiSetInitialGuess()

SCIP_RETCODE SCIPnlpiSetInitialGuess ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_Real primalvalues,
SCIP_Real consdualvalues,
SCIP_Real varlbdualvalues,
SCIP_Real varubdualvalues 
)

sets initial guess for primal variables

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
primalvaluesinitial primal values for variables, or NULL to clear previous values
consdualvaluesinitial dual values for constraints, or NULL to clear previous values
varlbdualvaluesinitial dual values for variable lower bounds, or NULL to clear previous values
varubdualvaluesinitial dual values for variable upper bounds, or NULL to clear previous values

Definition at line 528 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlpSolve(), SCIP_DECL_NLPISETINITIALGUESS(), and SCIPnlpSetInitialGuess().

◆ SCIPnlpiSolve()

◆ SCIPnlpiGetSolstat()

SCIP_NLPSOLSTAT SCIPnlpiGetSolstat ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem 
)

gives solution status

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance

Definition at line 621 of file nlpi.c.

References NULL.

Referenced by nlpSolve(), and SCIP_DECL_NLPIGETSOLSTAT().

◆ SCIPnlpiGetTermstat()

SCIP_NLPTERMSTAT SCIPnlpiGetTermstat ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem 
)

gives termination reason

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance

Definition at line 636 of file nlpi.c.

References NULL.

Referenced by nlpSolve(), and SCIP_DECL_NLPIGETTERMSTAT().

◆ SCIPnlpiGetSolution()

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 
)

gives primal and dual solution 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

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
primalvaluesbuffer to store pointer to array to primal values, or NULL if not needed
consdualvaluesbuffer to store pointer to array to dual values of constraints, or NULL if not needed
varlbdualvaluesbuffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed
varubdualvaluesbuffer to store pointer to array to dual values of variable lower bounds, or NULL if not needed
objvalpointer to store the objective value, or NULL if not needed

Definition at line 653 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by nlpSolve(), and SCIP_DECL_NLPIGETSOLUTION().

◆ SCIPnlpiGetStatistics()

SCIP_RETCODE SCIPnlpiGetStatistics ( SCIP_SET set,
SCIP_NLPI nlpi,
SCIP_NLPIPROBLEM problem,
SCIP_NLPSTATISTICS statistics 
)

gives solve statistics

Parameters
setglobal SCIP settings
nlpisolver interface
problemproblem instance
statisticspointer to store statistics

Definition at line 675 of file nlpi.c.

References NULL, SCIP_CALL, and SCIP_OKAY.

Referenced by SCIP_DECL_NLPIGETSTATISTICS(), and SCIPnlpGetStatistics().