Detailed Description
CONOPT NLP interface.
NLP interface for the CONOPT solver.
This file can only be compiled if CONOPT is available. Otherwise, to resolve public functions, use nlpi_conopt_dummy.c.
Definition in file nlpi_conopt.c.
#include "scip/nlpi_conopt.h"#include "scip/nlpioracle.h"#include "scip/scip_mem.h"#include "scip/scip_numerics.h"#include "scip/scip_nlp.h"#include "scip/scip_nlpi.h"#include "scip/scip_randnumgen.h"#include "scip/pub_misc.h"#include "scip/pub_message.h"#include "scip/type_clock.h"#include "scip/scip_general.h"#include "scip/scip_message.h"#include "scip/scip_timing.h"#include "conopt.h"Go to the source code of this file.
Data Structures | |
| struct | SCIP_NlpiProblem |
Macros | |
| #define | NLPI_NAME "conopt" |
| #define | NLPI_DESC "CONOPT interface" |
| #define | NLPI_PRIORITY 2000 |
| #define | DEFAULT_RANDSEED 107 |
| #define | MAXPERTURB 0.01 |
| #define | nlpiGetSolverPointerConopt NULL |
| #define | nlpiGetProblemPointerConopt NULL |
| #define | STR_HELPER(x) #x |
| #define | STR(x) STR_HELPER(x) |
Functions | |
| static int COI_CALLCONV | Solution (const double XVAL[], const double XMAR[], const int XBAS[], const int XSTA[], const double YVAL[], const double YMAR[], const int YBAS[], const int YSTA[], int NUMVAR, int NUMCON, void *USRMEM) |
| static int COI_CALLCONV | ReadMatrix (double LOWER[], double CURR[], double UPPER[], int VSTA[], int TYPE[], double RHS[], int ESTA[], int COLSTA[], int ROWNO[], double VALUE[], int NLFLAG[], int NUMVAR, int NUMCON, int NUMNZ, void *USRMEM) |
| static int COI_CALLCONV | Message (int SMSG, int DMSG, int NMSG, char *MSGV[], void *USRMEM) |
| static int COI_CALLCONV | ErrMsg (int ROWNO, int COLNO, int POSNO, const char *MSG, void *USRMEM) |
| static int COI_CALLCONV | Status (int MODSTA, int SOLSTA, int ITER, double OBJVAL, void *USRMEM) |
| static int COI_CALLCONV | FDEval (const double X[], double *G, double JAC[], int ROWNO, const int JACNUM[], int MODE, int IGNERR, int *ERRCNT, int NUMVAR, int NUMJAC, int THREAD, void *USRMEM) |
| static int COI_CALLCONV | Option (int NCALL, double *RVAL, int *IVAL, int *LVAL, char *NAME, void *USRMEM) |
| static int COI_CALLCONV | LagrStr (int HSRW[], int HSCL[], int *NODRV, int NUMVAR, int NUMCON, int NHESS, void *USRMEM) |
| static int COI_CALLCONV | LagrVal (const double X[], const double U[], const int HSRW[], const int HSCL[], double HSVL[], int *NODRV, int NUMVAR, int NUMCON, int NHESS, void *USRMEM) |
| static void | invalidateSolution (SCIP_NLPIPROBLEM *problem) |
| static SCIP_RETCODE | initConopt (SCIP *scip, SCIP_NLPIDATA *data, SCIP_NLPIPROBLEM *problem) |
| static void | handleConoptParam (SCIP_NLPIPROBLEM *problem, const SCIP_NLPPARAM param) |
| static | SCIP_DECL_NLPICOPY (nlpiCopyConopt) |
| static | SCIP_DECL_NLPIFREE (nlpiFreeConopt) |
| static | SCIP_DECL_NLPICREATEPROBLEM (nlpiCreateProblemConopt) |
| static | SCIP_DECL_NLPIFREEPROBLEM (nlpiFreeProblemConopt) |
| static | SCIP_DECL_NLPIADDVARS (nlpiAddVarsConopt) |
| static | SCIP_DECL_NLPIADDCONSTRAINTS (nlpiAddConstraintsConopt) |
| static | SCIP_DECL_NLPISETOBJECTIVE (nlpiSetObjectiveConopt) |
| static | SCIP_DECL_NLPICHGVARBOUNDS (nlpiChgVarBoundsConopt) |
| static | SCIP_DECL_NLPICHGCONSSIDES (nlpiChgConsSidesConopt) |
| static | SCIP_DECL_NLPIDELVARSET (nlpiDelVarSetConopt) |
| static | SCIP_DECL_NLPIDELCONSSET (nlpiDelConstraintSetConopt) |
| static | SCIP_DECL_NLPICHGLINEARCOEFS (nlpiChgLinearCoefsConopt) |
| static | SCIP_DECL_NLPICHGEXPR (nlpiChgExprConopt) |
| static | SCIP_DECL_NLPICHGOBJCONSTANT (nlpiChgObjConstantConopt) |
| static | SCIP_DECL_NLPISETINITIALGUESS (nlpiSetInitialGuessConopt) |
| static | SCIP_DECL_NLPISOLVE (nlpiSolveConopt) |
| static | SCIP_DECL_NLPIGETSOLSTAT (nlpiGetSolstatConopt) |
| static | SCIP_DECL_NLPIGETTERMSTAT (nlpiGetTermstatConopt) |
| static | SCIP_DECL_NLPIGETSOLUTION (nlpiGetSolutionConopt) |
| static | SCIP_DECL_NLPIGETSTATISTICS (nlpiGetStatisticsConopt) |
| SCIP_RETCODE | SCIPincludeNlpSolverConopt (SCIP *scip) |
| void | SCIPsetLicenseConopt (SCIP_NLPI *nlpi, int integer_1, int integer_2, int integer_3, const char *text) |
| const char * | SCIPgetSolverNameConopt (void) |
| const char * | SCIPgetSolverDescConopt (void) |
| SCIP_Bool | SCIPisConoptAvailableConopt (void) |
Macro Definition Documentation
◆ NLPI_NAME
| #define NLPI_NAME "conopt" |
short concise name of solver
Definition at line 55 of file nlpi_conopt.c.
◆ NLPI_DESC
| #define NLPI_DESC "CONOPT interface" |
description of solver
Definition at line 56 of file nlpi_conopt.c.
◆ NLPI_PRIORITY
| #define NLPI_PRIORITY 2000 |
priority of NLP solver
Definition at line 57 of file nlpi_conopt.c.
◆ DEFAULT_RANDSEED
| #define DEFAULT_RANDSEED 107 |
initial random seed
Definition at line 59 of file nlpi_conopt.c.
◆ MAXPERTURB
| #define MAXPERTURB 0.01 |
maximal perturbation of bounds in starting point heuristic
Definition at line 60 of file nlpi_conopt.c.
◆ nlpiGetSolverPointerConopt
| #define nlpiGetSolverPointerConopt NULL |
Definition at line 1040 of file nlpi_conopt.c.
◆ nlpiGetProblemPointerConopt
| #define nlpiGetProblemPointerConopt NULL |
Definition at line 1118 of file nlpi_conopt.c.
◆ STR_HELPER
Definition at line 1536 of file nlpi_conopt.c.
◆ STR
| #define STR | ( | x | ) | STR_HELPER(x) |
Definition at line 1537 of file nlpi_conopt.c.
Function Documentation
◆ Solution()
|
static |
Implementations of CONOPT callbacks CONOPT callback to pass solution back to SCIP
The dual values are multiplied by -1, since CONOPT's definition of marginal values is 'by how much the objective increases if we increase the constraint side by +eps', which, for minimisation problems (which is always the case here), is the negative of what SCIP expects.
- Parameters
-
XVAL solution values of the variables (provided by CONOPT) XMAR marginal values (provided by CONOPT) XBAS basis indicators for the variables (provided by CONOPT) XSTA status values for the variables (provided by CONOPT) YVAL values of the left hand sides of all rows in the optimal solution (provided by CONOPT) YMAR marginal values corresponding to rows (provided by CONOPT) YBAS basis indicators for the rows or constraints (provided by CONOPT) YSTA status values for the rows or constraints (provided by CONOPT) NUMVAR number of variables (provided by CONOPT) NUMCON number of constraints (provided by CONOPT) USRMEM user memory pointer (i.e. pointer to SCIP_NLPIPROBLEM)
Definition at line 123 of file nlpi_conopt.c.
References BMSclearMemoryArray, BMScopyMemoryArray, SCIP_NlpiProblem::conssolsize, SCIP_NlpiProblem::initguess, SCIP_NlpiProblem::lastdualcons, SCIP_NlpiProblem::lastduallb, SCIP_NlpiProblem::lastdualub, SCIP_NlpiProblem::lastprimal, NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_OKAY, SCIPallocClearBlockMemoryArray, SCIPduplicateBlockMemoryArray, SCIPduplicateMemoryArray, SCIPerrorMessage, SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), and SCIP_NlpiProblem::varsolsize.
Referenced by initConopt().
◆ ReadMatrix()
|
static |
CONOPT callback to pass variable bounds, constraint types and sides and Jacobian structure and constant values to CONOPT
- Parameters
-
LOWER lower bounds on the variables (set to CONOPT's minus infinity before callback is issued CURR initial values of the variables (set to zero before callback is issued UPPER upper bounds on the variables (set to CONOPT's plus infinity before callback is issued VSTA initial status values for the variable (used if coidef_inistat() was called with IniStat = 1 or 2) TYPE constraint types (equation, inequality, free) RHS right hand sides values of constraints (default is zero) ESTA initial status values for constraint slacks (used if coidef_inistat() was called with IniStat = 1 or 2) COLSTA starting indices of Jacobian columns in ROWNO ROWNO row numbers of Jacobian nonzeros VALUE values of the Jacobian elements (defined for all constant Jacobian elements) NLFLAG flags marking nonlinear Jacobian elements (following the same sparse representation as ROWNO) NUMVAR number of variables as defined in COIDEF_NumVar() NUMCON number of constraints as defined in COIDEF_NumCon() NUMNZ number of Jacobian elements as defined in COIDEF_NumNz() USRMEM user memory pointer (i.e. pointer to SCIP_NLPIPROBLEM)
Definition at line 222 of file nlpi_conopt.c.
References BMSclearMemoryArray, BMScopyMemoryArray, SCIP_NlpiProblem::initguess, MAX, MAXPERTURB, MIN, NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::randnumgen, RHS, SCIP_NlpiProblem::scip, SCIP_Bool, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPallocCleanBufferArray, SCIPdebugMsg, SCIPerrorMessage, SCIPfreeBufferArray, SCIPfreeCleanBufferArray, SCIPisEQ(), SCIPisInfinity(), SCIPnlpiOracleGetConstraintLhs(), SCIPnlpiOracleGetConstraintLinearCoef(), SCIPnlpiOracleGetConstraintRhs(), SCIPnlpiOracleGetJacobianColSparsity(), SCIPnlpiOracleGetNVars(), SCIPnlpiOracleGetObjGradientNnz(), SCIPnlpiOracleGetVarLbs(), SCIPnlpiOracleGetVarUbs(), and SCIPrandomGetReal().
Referenced by initConopt().
◆ Message()
|
static |
callback for CONOPT's standard output
- Parameters
-
SMSG number of lines in the message that should go to the Screen file, between 0 and 30 DMSG number of lines in the message that should go to the Status file, between 0 and 30 NMSG number of lines in the message that should go to the Documentation file, between 0 and 30 MSGV array with the lengths of the individual message lines, the lengths are between 1 and 132 USRMEM user memory pointer (i.e. pointer to SCIP_NLPIPROBLEM)
Definition at line 501 of file nlpi_conopt.c.
References NULL, SCIP_NlpiProblem::scip, SCIPinfoMessage(), and SCIP_NlpiProblem::verblevel.
Referenced by initConopt().
◆ ErrMsg()
|
static |
callback for CONOPT's standard error output
- Parameters
-
ROWNO number of row COLNO number of column POSNO number of a Jacobian element MSG the message USRMEM user memory pointer (i.e. pointer to SCIP_NLPIPROBLEM)
Definition at line 524 of file nlpi_conopt.c.
References NULL, SCIP_NlpiProblem::scip, SCIPinfoMessage(), and SCIP_NlpiProblem::verblevel.
Referenced by initConopt().
◆ Status()
|
static |
callback for CONOPT to report the solving statuses
- Parameters
-
MODSTA model status (corresponds to SCIP's solstat) SOLSTA solver status (corresponds to SCIP's termstat) ITER number of iterations OBJVAL objective value USRMEM user memory pointer (i.e. pointer to SCIP_NLPIPROBLEM)
Definition at line 551 of file nlpi_conopt.c.
References FALSE, SCIP_NlpiProblem::ncalls, SCIP_NlpiProblem::niterations, SCIP_NlpiProblem::nlimit, SCIP_NlpiProblem::nlocinfeas, SCIP_NlpiProblem::nother, SCIP_NlpiProblem::nsuccess, NULL, SCIP_NlpiProblem::objval, SCIP_NlpiProblem::scip, SCIP_Bool, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_GLOBINFEASIBLE, SCIP_NLPSOLSTAT_GLOBOPT, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_LOCOPT, SCIP_NLPSOLSTAT_UNBOUNDED, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_EVALERROR, SCIP_NLPTERMSTAT_INTERRUPT, SCIP_NLPTERMSTAT_ITERLIMIT, SCIP_NLPTERMSTAT_NUMERICERROR, SCIP_NLPTERMSTAT_OKAY, SCIP_NLPTERMSTAT_OTHER, SCIP_NLPTERMSTAT_TIMELIMIT, SCIPdebugMsg, SCIPerrorMessage, SCIP_NlpiProblem::solstat, SCIP_NlpiProblem::termstat, and TRUE.
Referenced by SPxexSCIP::doSolve(), initConopt(), lpiStrongbranch(), and spxSolve().
◆ FDEval()
|
static |
CONOPT callback for function and Jacobian evaluation
The callback has three modes, indicated by MODE:
1: Only evaluate the sum of the nonlinear and linear terms in row ROWNO and return the value in G. 2: Only evaluate the nonlinear Jacobian elements in row ROWNO and return them in JAC. 3: Perform both option 1 and 2.
- Parameters
-
X point of evaluation (provided by CONOPT) G value of the function JAC vector of Jacobian values ROWNO number of the row for which nonlinearities are to be evaluated (provided by CONOPT) JACNUM list of column numbers for the nonlinear nonzero Jacobian elements in the current row (provided by CONOPT when MODE = 2 or 3) MODE indicator for mode of evaluation (provided by CONOPT) IGNERR indicator whether CONOPT assumes the point to be safe (0) or potentially unsafe (1) ERRCNT scalar function evaluation error indicator (set to 1 if a function value cannot be computed NUMVAR number of variables (provided by CONOPT) NUMJAC number of nonlinear nonzero Jacobian elements in the current row THREAD only relevant in multi-threading environments USRMEM user memory pointer (i.e. pointer to SCIP_NLPIPROBLEM)
Definition at line 679 of file nlpi_conopt.c.
References NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_INVALID, SCIP_OKAY, SCIPnlpiOracleEvalConstraintGradient(), SCIPnlpiOracleEvalConstraintValue(), SCIPnlpiOracleEvalObjectiveGradient(), SCIPnlpiOracleEvalObjectiveValue(), SCIPnlpiOracleGetNConstraints(), and TRUE.
Referenced by initConopt().
◆ Option()
|
static |
CONOPT callback to pass some of the options (not supported via COIDEF_* functions) to CONOPT
- Parameters
-
NCALL number of callback call (provided by CONOPT) RVAL pointer to set the value of a real option IVAL pointer to set the value of an integer option LVAL pointer to set the value of a binary option NAME pointer to set the name of the option USRMEM user memory pointer (i.e. pointer to SCIP_NLPIPROBLEM)
Definition at line 725 of file nlpi_conopt.c.
References NULL, SCIP_NlpiProblem::opttol, and SCIP_NlpiProblem::verblevel.
Referenced by initConopt().
◆ LagrStr()
|
static |
CONOPT callback to define structure of the Hessian of the Lagrangian
- Parameters
-
HSRW row numbers of the lower triangular part of the Hessian HSCL column numbers of the lower triangular part of the Hessian; elements must be sorted column-wise, and within each column, row-wise NODRV can be set to 1 if the derivatives could not be computed NUMVAR number of variables as defined in coidef_numvar() (provided by CONOPT) NUMCON number of constraints as defined in coidef_numcon() (provided by CONOPT) NHESS number of nonzero elements in the Hessian (provided by CONOPT) USRMEM user memory pointer (i.e. pointer to SCIP_NLPIPROBLEM)
Definition at line 759 of file nlpi_conopt.c.
References NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_OKAY, SCIPnlpiOracleGetHessianLagSparsity(), and TRUE.
Referenced by initConopt().
◆ LagrVal()
|
static |
CONOPT callback to compute the Hessian of the Lagrangian
the Lagrangian is written as L = sum_{r in rows}U[r] * function(r)
- Parameters
-
X point in which the Hessian should be computed (provided by CONOPT) U vector of weights on the individual constraints (provided by CONOPT) HSRW row numbers of the lower triangular part of the Hessian (provided by CONOPT) HSCL column numbers of the lower triangular part of the Hessian; elements must be sorted column-wise, and within each column, row-wise (provided by CONOPT) HSVL values of Hessian entries NODRV can be set to 1 if the derivatives could not be computed NUMVAR number of variables as defined in coidef_numvar() (provided by CONOPT) NUMCON number of constraints as defined in coidef_numcon() (provided by CONOPT) NHESS number of nonzero elements in the Hessian (provided by CONOPT) USRMEM user memory pointer (i.e. pointer to SCIP_NLPIPROBLEM)
Definition at line 800 of file nlpi_conopt.c.
References NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_OKAY, SCIPnlpiOracleEvalHessianLag(), and TRUE.
Referenced by initConopt().
◆ invalidateSolution()
|
static |
frees solution arrays and sets the solstat and termstat to unknown and other, resp.
- Parameters
-
problem data structure of problem
Definition at line 830 of file nlpi_conopt.c.
References SCIP_NlpiProblem::conssolsize, SCIP_NlpiProblem::lastdualcons, SCIP_NlpiProblem::lastduallb, SCIP_NlpiProblem::lastdualub, SCIP_NlpiProblem::lastprimal, NULL, SCIP_NlpiProblem::scip, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIPfreeBlockMemoryArrayNull, SCIP_NlpiProblem::solstat, SCIP_NlpiProblem::termstat, and SCIP_NlpiProblem::varsolsize.
Referenced by SCIP_DECL_NLPIADDCONSTRAINTS(), SCIP_DECL_NLPIADDVARS(), SCIP_DECL_NLPICHGCONSSIDES(), SCIP_DECL_NLPICHGEXPR(), SCIP_DECL_NLPICHGLINEARCOEFS(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIP_DECL_NLPIDELCONSSET(), SCIP_DECL_NLPIDELVARSET(), SCIP_DECL_NLPIFREEPROBLEM(), and SCIP_DECL_NLPISETOBJECTIVE().
◆ initConopt()
|
static |
- Parameters
-
scip SCIP data structure data pointer to NLPIDATA structure problem pointer to NLPI problem structure
Definition at line 847 of file nlpi_conopt.c.
References SCIP_NlpiProblem::CntVect, ErrMsg(), FDEval(), LagrStr(), LagrVal(), Message(), NULL, Option(), SCIP_NlpiProblem::oracle, ReadMatrix(), SCIP_NlpiProblem::scip, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcreateClock(), SCIPinfoMessage(), SCIPisEQ(), SCIPisInfinity(), SCIPnlpiOracleGetConstraintLhs(), SCIPnlpiOracleGetConstraintRhs(), SCIPnlpiOracleGetHessianLagSparsity(), SCIPnlpiOracleGetJacobianColSparsity(), SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), SCIPnlpiOracleGetObjGradientNnz(), Solution(), Status(), and TRUE.
Referenced by SCIP_DECL_NLPISOLVE().
◆ handleConoptParam()
|
static |
- Parameters
-
problem pointer to problem data structure param NLP solve parameters
Definition at line 944 of file nlpi_conopt.c.
References SCIP_NlpiProblem::CntVect, SCIP_NlpParam::fastfail, SCIP_NlpParam::iterlimit, SCIP_NlpParam::lobjlimit, NULL, SCIP_NlpiProblem::opttol, SCIP_NlpParam::opttol, SCIP_NlpiProblem::scip, SCIP_REAL_MAX, SCIPdebugMsg, SCIPinfoMessage(), SCIPwarningMessage(), SCIP_NlpParam::timelimit, SCIP_NlpiProblem::verblevel, SCIP_NlpParam::verblevel, and SCIP_NlpParam::warmstart.
Referenced by SCIP_DECL_NLPISOLVE().
◆ SCIP_DECL_NLPICOPY()
|
static |
copy method of NLP interface (called when SCIP copies plugins)
Definition at line 985 of file nlpi_conopt.c.
References NLPI_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPfindNlpi(), SCIPincludeNlpSolverConopt(), SCIPnlpiGetData(), and SCIPsetLicenseConopt().
◆ SCIP_DECL_NLPIFREE()
|
static |
destructor of NLP interface to free nlpi data
Definition at line 1011 of file nlpi_conopt.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPfreeClock().
◆ SCIP_DECL_NLPICREATEPROBLEM()
|
static |
create a problem instance
Definition at line 1045 of file nlpi_conopt.c.
References DEFAULT_RANDSEED, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPallocClearBlockMemory, SCIPcreateRandom(), SCIPerrorMessage, SCIPnlpiOracleCreate(), SCIPnlpiOracleSetProblemName(), and TRUE.
◆ SCIP_DECL_NLPIFREEPROBLEM()
|
static |
free a problem instance
Definition at line 1074 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPfreeBlockMemory, SCIPfreeMemoryArrayNull, SCIPfreeRandom(), SCIPinfoMessage(), and SCIPnlpiOracleFree().
◆ SCIP_DECL_NLPIADDVARS()
|
static |
add variables
Definition at line 1123 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleAddVars(), and TRUE.
◆ SCIP_DECL_NLPIADDCONSTRAINTS()
|
static |
add constraints
Definition at line 1140 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleAddConstraints(), and TRUE.
◆ SCIP_DECL_NLPISETOBJECTIVE()
|
static |
sets or overwrites objective, a minimization problem is expected
Definition at line 1157 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleSetObjective(), and TRUE.
◆ SCIP_DECL_NLPICHGVARBOUNDS()
|
static |
change variable bounds
Definition at line 1173 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiOracleChgVarBounds().
◆ SCIP_DECL_NLPICHGCONSSIDES()
|
static |
change constraint bounds
Definition at line 1188 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPisEQ(), SCIPisInfinity(), SCIPisLT(), SCIPnlpiOracleChgConsSides(), SCIPnlpiOracleGetConstraintLhs(), SCIPnlpiOracleGetConstraintRhs(), SCIPnlpiOracleGetNConstraints(), and TRUE.
◆ SCIP_DECL_NLPIDELVARSET()
|
static |
delete a set of variables
Definition at line 1243 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleDelVarSet(), and TRUE.
◆ SCIP_DECL_NLPIDELCONSSET()
|
static |
delete a set of constraints
Definition at line 1259 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleDelConsSet(), and TRUE.
◆ SCIP_DECL_NLPICHGLINEARCOEFS()
|
static |
changes (or adds) linear coefficients in a constraint or objective
Definition at line 1275 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleChgLinearCoefs(), and TRUE.
◆ SCIP_DECL_NLPICHGEXPR()
|
static |
replaces the expression tree of a constraint or objective
Definition at line 1291 of file nlpi_conopt.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleChgExpr(), and TRUE.
◆ SCIP_DECL_NLPICHGOBJCONSTANT()
|
static |
change the constant offset in the objective
Definition at line 1307 of file nlpi_conopt.c.
References NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiOracleChgObjConstant().
◆ SCIP_DECL_NLPISETINITIALGUESS()
|
static |
sets initial guess
Definition at line 1320 of file nlpi_conopt.c.
References BMScopyMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, SCIPduplicateMemoryArray, SCIPfreeMemoryArrayNull, and SCIPnlpiOracleGetNVars().
◆ SCIP_DECL_NLPISOLVE()
|
static |
try to solve NLP
Note that SCIP will already have reset a timelimit of SCIP_REAL_MAX to the time remaining for the SCIP solve in SCIPnlpiSolve().
Definition at line 1346 of file nlpi_conopt.c.
References FALSE, handleConoptParam(), initConopt(), NULL, SCIP_CALL, SCIP_NLPPARAM_PRINT, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_TIMELIMIT, SCIP_OKAY, SCIPdebugMsg, SCIPgetClockTime(), SCIPnlpiGetData(), SCIPnlpiOracleResetEvalTime(), SCIPresetClock(), and SCIPstartClock().
◆ SCIP_DECL_NLPIGETSOLSTAT()
|
static |
◆ SCIP_DECL_NLPIGETTERMSTAT()
|
static |
◆ SCIP_DECL_NLPIGETSOLUTION()
|
static |
gives primal and dual solution values
Definition at line 1437 of file nlpi_conopt.c.
◆ SCIP_DECL_NLPIGETSTATISTICS()
|
static |
gives solve statistics
Definition at line 1461 of file nlpi_conopt.c.
References NULL, SCIP_INVALID, SCIP_OKAY, and SCIPnlpiOracleGetEvalTime().