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) |
| #define | STR(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) |
| #define NLPI_NAME "conopt" |
short concise name of solver
Definition at line 55 of file nlpi_conopt.c.
| #define NLPI_DESC "CONOPT interface" |
description of solver
Definition at line 56 of file nlpi_conopt.c.
| #define NLPI_PRIORITY 2000 |
priority of NLP solver
Definition at line 57 of file nlpi_conopt.c.
| #define DEFAULT_RANDSEED 107 |
initial random seed
Definition at line 59 of file nlpi_conopt.c.
| #define MAXPERTURB 0.01 |
maximal perturbation of bounds in starting point heuristic
Definition at line 60 of file nlpi_conopt.c.
Referenced by ensureStartingPoint(), ReadMatrix(), SCIP_DECL_NLPISOLVE(), and setupStart().
| #define nlpiGetSolverPointerConopt NULL |
Definition at line 1063 of file nlpi_conopt.c.
Referenced by SCIPincludeNlpSolverConopt().
| #define nlpiGetProblemPointerConopt NULL |
Definition at line 1141 of file nlpi_conopt.c.
Referenced by SCIPincludeNlpSolverConopt().
| #define STR_HELPER | ( | x | ) |
Definition at line 1559 of file nlpi_conopt.c.
| #define STR | ( | x | ) |
|
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.
| 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 assert(), BMSclearMemoryArray, BMScopyMemoryArray, SCIP_NlpiProblem::conssolsize, i, 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().
|
static |
CONOPT callback to pass variable bounds, constraint types and sides and Jacobian structure and constant values to CONOPT
| 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 assert(), BMSclearMemoryArray, BMScopyMemoryArray, i, 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, SCIPdebugMsgPrint, SCIPerrorMessage, SCIPfreeBufferArray, SCIPfreeCleanBufferArray, SCIPisEQ(), SCIPisInfinity(), SCIPnlpiOracleGetConstraintLhs(), SCIPnlpiOracleGetConstraintLinearCoef(), SCIPnlpiOracleGetConstraintRhs(), SCIPnlpiOracleGetJacobianColSparsity(), SCIPnlpiOracleGetNVars(), SCIPnlpiOracleGetObjGradientNnz(), SCIPnlpiOracleGetVarLbs(), SCIPnlpiOracleGetVarUbs(), and SCIPrandomGetReal().
Referenced by initConopt().
|
static |
callback for CONOPT's standard output
| 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 510 of file nlpi_conopt.c.
References assert(), i, NULL, SCIP_NlpiProblem::scip, SCIPinfoMessage(), and SCIP_NlpiProblem::verblevel.
Referenced by initConopt().
|
static |
callback for CONOPT's standard error output
| 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 542 of file nlpi_conopt.c.
References NULL, SCIP_NlpiProblem::scip, SCIPinfoMessage(), and SCIP_NlpiProblem::verblevel.
Referenced by initConopt().
|
static |
callback for CONOPT to report the solving statuses
| 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 569 of file nlpi_conopt.c.
References assert(), 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 initConopt().
|
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.
| 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 698 of file nlpi_conopt.c.
References assert(), NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_INVALID, SCIP_OKAY, SCIPnlpiOracleEvalConstraintGradient(), SCIPnlpiOracleEvalConstraintValue(), SCIPnlpiOracleEvalObjectiveGradient(), SCIPnlpiOracleEvalObjectiveValue(), SCIPnlpiOracleGetNConstraints(), and TRUE.
Referenced by initConopt().
|
static |
CONOPT callback to pass some of the options (not supported via COIDEF_* functions) to CONOPT
| 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 744 of file nlpi_conopt.c.
References assert(), NULL, SCIP_NlpiProblem::opttol, and SCIP_NlpiProblem::verblevel.
Referenced by initConopt().
|
static |
CONOPT callback to define structure of the Hessian of the Lagrangian
| 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 782 of file nlpi_conopt.c.
References assert(), i, NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_OKAY, SCIPnlpiOracleGetHessianLagSparsity(), and TRUE.
Referenced by initConopt().
|
static |
CONOPT callback to compute the Hessian of the Lagrangian
the Lagrangian is written as L = sum_{r in rows}U[r] * function(r)
| 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 823 of file nlpi_conopt.c.
References assert(), NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_OKAY, SCIPnlpiOracleEvalHessianLag(), and TRUE.
Referenced by initConopt().
|
static |
frees solution arrays and sets the solstat and termstat to unknown and other, resp.
| problem | data structure of problem |
Definition at line 853 of file nlpi_conopt.c.
References assert(), 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().
|
static |
| scip | SCIP data structure |
| data | pointer to NLPIDATA structure |
| problem | pointer to NLPI problem structure |
Definition at line 870 of file nlpi_conopt.c.
References assert(), SCIP_NlpiProblem::CntVect, ErrMsg(), FDEval(), i, LagrStr(), LagrVal(), Message(), NULL, nvars, 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().
|
static |
| problem | pointer to problem data structure |
| param | NLP solve parameters |
Definition at line 967 of file nlpi_conopt.c.
References assert(), 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().
|
static |
copy method of NLP interface (called when SCIP copies plugins)
Definition at line 1008 of file nlpi_conopt.c.
References assert(), NLPI_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPfindNlpi(), SCIPincludeNlpSolverConopt(), SCIPnlpiGetData(), and SCIPsetLicenseConopt().
|
static |
destructor of NLP interface to free nlpi data
Definition at line 1034 of file nlpi_conopt.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPfreeClock().
|
static |
create a problem instance
Definition at line 1068 of file nlpi_conopt.c.
References assert(), DEFAULT_RANDSEED, NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPallocClearBlockMemory, SCIPcreateRandom(), SCIPerrorMessage, SCIPnlpiOracleCreate(), SCIPnlpiOracleSetProblemName(), and TRUE.
|
static |
free a problem instance
Definition at line 1097 of file nlpi_conopt.c.
References assert(), invalidateSolution(), NULL, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPerrorMessage, SCIPfreeBlockMemory, SCIPfreeMemoryArrayNull, SCIPfreeRandom(), SCIPinfoMessage(), and SCIPnlpiOracleFree().
|
static |
add variables
Definition at line 1146 of file nlpi_conopt.c.
References assert(), invalidateSolution(), NULL, nvars, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleAddVars(), and TRUE.
|
static |
add constraints
Definition at line 1163 of file nlpi_conopt.c.
References assert(), invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleAddConstraints(), and TRUE.
|
static |
sets or overwrites objective, a minimization problem is expected
Definition at line 1180 of file nlpi_conopt.c.
References assert(), invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleSetObjective(), and TRUE.
|
static |
change variable bounds
Definition at line 1196 of file nlpi_conopt.c.
References assert(), invalidateSolution(), NULL, nvars, SCIP_CALL, SCIP_OKAY, and SCIPnlpiOracleChgVarBounds().
|
static |
change constraint bounds
Definition at line 1211 of file nlpi_conopt.c.
References assert(), i, invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPisEQ(), SCIPisInfinity(), SCIPisLT(), SCIPnlpiOracleChgConsSides(), SCIPnlpiOracleGetConstraintLhs(), SCIPnlpiOracleGetConstraintRhs(), SCIPnlpiOracleGetNConstraints(), and TRUE.
|
static |
delete a set of variables
Definition at line 1266 of file nlpi_conopt.c.
References assert(), invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleDelVarSet(), and TRUE.
|
static |
delete a set of constraints
Definition at line 1282 of file nlpi_conopt.c.
References assert(), invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleDelConsSet(), and TRUE.
|
static |
changes (or adds) linear coefficients in a constraint or objective
Definition at line 1298 of file nlpi_conopt.c.
References assert(), invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleChgLinearCoefs(), and TRUE.
|
static |
replaces the expression tree of a constraint or objective
Definition at line 1314 of file nlpi_conopt.c.
References assert(), invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleChgExpr(), and TRUE.
|
static |
change the constant offset in the objective
Definition at line 1330 of file nlpi_conopt.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiOracleChgObjConstant().
|
static |
sets initial guess
Definition at line 1343 of file nlpi_conopt.c.
References assert(), BMScopyMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, SCIPduplicateMemoryArray, SCIPfreeMemoryArrayNull, and SCIPnlpiOracleGetNVars().
|
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 1369 of file nlpi_conopt.c.
References assert(), FALSE, handleConoptParam(), initConopt(), NULL, SCIP_CALL, SCIP_NLPPARAM_PRINT, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_TIMELIMIT, SCIP_OKAY, SCIPdebugMsg, SCIPgetClockTime(), SCIPnlpiGetData(), SCIPnlpiOracleResetEvalTime(), SCIPresetClock(), and SCIPstartClock().
|
static |
|
static |
gives termination reason
Definition at line 1450 of file nlpi_conopt.c.
|
static |
|
static |
gives solve statistics
Definition at line 1484 of file nlpi_conopt.c.
References assert(), NULL, SCIP_INVALID, SCIP_OKAY, and SCIPnlpiOracleGetEvalTime().