55#define NLPI_NAME "conopt"
56#define NLPI_DESC "CONOPT interface"
57#define NLPI_PRIORITY 2000
59#define DEFAULT_RANDSEED 107
60#define MAXPERTURB 0.01
72 char license_text[81];
148 assert(NUMVAR >= noraclevars);
151 assert(NUMCON == noracleconss + 1);
181 assert(noraclevars <= problem->varsolsize);
182 assert(noracleconss <= problem->conssolsize);
205 for(
int i = 0;
i < noraclevars;
i++ )
209 else if( XBAS[
i] == 1 )
213 for(
int i = 0;
i < NUMCON-1;
i++ )
248 int* rangeconsidxs =
NULL;
250 const int* jaccoloffsets;
268 SCIPdebugMsg(
scip,
"NLP sizes passed to CONOPT: NUMVAR = %d, NUMCON = %d, NUMNZ = %d\n", NUMVAR, NUMCON, NUMNZ);
275 if( NUMVAR - norigvars > 0 )
286 for(
int i = 0;
i < norigvars;
i++ )
301 for(
int i = 0;
i < norigvars; ++
i )
303 if( lbs[
i] > CURR[
i] )
305 else if( ubs[
i] < CURR[
i] )
314 SCIPdebugMsg(
scip,
"CONOPT started without initial primal values; make up starting guess by projecting 0 onto variable bounds\n");
316 for(
int i = 0;
i < norigvars; ++
i )
320 else if( ubs[
i] < 0.0 )
328 for(
int i = 0;
i < NUMCON-1;
i++ )
345 LOWER[norigvars + nslackvars] = lhs;
346 UPPER[norigvars + nslackvars] = rhs;
357 rangeconsidxs[nslackvars] =
i;
376 assert(norigvars + nslackvars == NUMVAR);
390 assert(jaccoloffsets ==
NULL || jaccoloffsets[norigvars] <= NUMNZ);
409 for(
int i = 0;
i < norigvars;
i++ )
412 COLSTA[
i] = jaccoloffsets !=
NULL ? jaccoloffsets[
i] + objnzcnt : objnzcnt;
414 if( jaccoloffsets !=
NULL )
417 for(
int j = jaccoloffsets[
i]; j < jaccoloffsets[
i+1]; j++ )
419 ROWNO[j+objnzcnt] = jacrows[j];
420 NLFLAG[j+objnzcnt] = jacrownlflags[j] ? 1 : 0;
421 if( NLFLAG[j+objnzcnt] == 0 )
425 ++(nrownz[jacrows[j]]);
431 if( objnz !=
NULL && objnzcnt < nobjnz &&
i == objnz[objnzcnt] )
433 int idx = jaccoloffsets !=
NULL ? jaccoloffsets[
i+1] + objnzcnt : objnzcnt;
435 ROWNO[idx] = NUMCON - 1;
436 NLFLAG[idx] = objnlflags[objnzcnt] ? 1 : 0;
437 if( NLFLAG[idx] == 0 )
441 ++(nrownz[NUMCON-1]);
447 COLSTA[norigvars] = jaccoloffsets !=
NULL ? jaccoloffsets[norigvars] + objnzcnt : objnzcnt;
454 for(
int i = 0;
i < nslackvars;
i++ )
456 COLSTA[norigvars+
i] = COLSTA[norigvars] +
i;
457 ROWNO[COLSTA[norigvars+
i]] = rangeconsidxs[
i];
458 NLFLAG[COLSTA[norigvars+
i]] = 0;
459 VALUE[COLSTA[norigvars+
i]] = -1.0;
462 COLSTA[NUMVAR] = NUMNZ;
466 for(
int i = 0;
i < NUMNZ; ++
i )
467 assert(ROWNO[
i] >= 0 && ROWNO[
i] < NUMCON);
470#ifdef STRUCTURE_DEBUG
473 for(
int i = 0;
i <= NUMVAR;
i++ )
474 printf(
"%d, ", COLSTA[
i]);
478 for(
int i = 0;
i < NUMNZ;
i++ )
479 printf(
"%d, ", ROWNO[
i]);
483 for(
int i = 0;
i < NUMNZ;
i++ )
484 printf(
"%d, ", NLFLAG[
i]);
488 for(
int i = 0;
i < NUMNZ;
i++ )
492 printf(
"%g, ", VALUE[
i]);
516 for(
int i = 0;
i < SMSG;
i++ )
536 if( ROWNO == -1 && COLNO == -1 )
538 else if( ROWNO == -1 )
540 else if( COLNO == -1 )
543 SCIPinfoMessage(problem->
scip,
NULL,
"\nCONOPT error/warning: variable %d appearing in constraint %d: ", COLNO, ROWNO);
610 SCIPdebugMsg(
scip,
"NLP problem status unknown (CONOPT status %d)\n", MODSTA);
615 SCIPerrorMessage(
"CONOPT returned an unexpected solution status %d\n", MODSTA);
656 SCIPerrorMessage(
"CONOPT returned an unexpected termination status %d\n", SOLSTA);
711 if( MODE == 2 || MODE == 3 )
741 strcpy(NAME,
"LOCNPT");
748 strcpy(NAME,
"RTREDG");
771 const int* hessoffsets;
783 for(
int i = 0;
i < NHESS;
i++ )
786 while(
i == hessoffsets[col+1] )
857 const int* jacoffsets;
858 const int* hessoffsets;
860 const int* objgradnz;
869 if( data->solvetime ==
NULL )
870 if( data->solvetime ==
NULL )
879 for(
int i = 0;
i < nconss;
i++ )
889 COI_Error += COIDEF_EmptyCol(problem->
CntVect, 1);
892 COI_Error += COIDEF_NumVar(problem->
CntVect,
nvars + nrangeconss);
893 COI_Error += COIDEF_NumCon(problem->
CntVect, nconss + 1);
900 COI_Error += COIDEF_NumNz(problem->
CntVect, jacoffsets !=
NULL ? jacoffsets[
nvars] + nrangeconss + nobjgradnz :
901 nrangeconss + nobjgradnz);
904 COI_Error += COIDEF_NumNlNz(problem->
CntVect, nnlnz + nobjgradnls);
908 COI_Error += COIDEF_NumHess(problem->
CntVect, hessoffsets[
nvars]);
911 COI_Error += COIDEF_OptDir(problem->
CntVect, -1);
915 COI_Error += COIDEF_ObjCon(problem->
CntVect, nconss);
929 COI_Error += COIDEF_FVincLin(problem->
CntVect, 1);
932 COI_Error += COIDEF_UsrMem(problem->
CntVect, (
void*)problem);
935 if( data->license_text[0] !=
'\0' )
936 COI_Error += COIDEF_License(problem->
CntVect, data->license_int_1, data->license_int_2, data->license_int_3, data->license_text);
955 SCIPdebugMsg(problem->
scip,
"warmstart parameter not supported by CONOPT interface yet. Ignored.\n");
959 SCIPwarningMessage(problem->
scip,
"lobjlimit parameter not supported by CONOPT interface yet. Ignored.\n");
963 SCIPdebugMsg(problem->
scip,
"fastfail parameter not supported by CONOPT interface yet. Ignored.\n");
997 if( sourcenlpidata->license_text[0] !=
'\0' )
1003 sourcenlpidata->license_int_2, sourcenlpidata->license_int_3, sourcenlpidata->license_text);
1017 if( (*nlpidata)->solvetime !=
NULL )
1018 if( (*nlpidata)->solvetime !=
NULL )
1029#ifdef SCIP_DISABLED_CODE
1040#define nlpiGetSolverPointerConopt NULL
1053 (*problem)->firstrun =
TRUE;
1054 (*problem)->scip =
scip;
1060 if( COI_Create(&((*problem)->CntVect)) || (*problem)->CntVect ==
NULL )
1082 if( (*problem)->oracle !=
NULL )
1090 if( COI_Free(&((*problem)->CntVect)) )
1099#ifdef PRINT_NLPSTATS
1100 SCIPinfoMessage(
scip,
NULL,
"\nNLP solver CONOPT stats: ncalls = %d, nsuccess = %d, nlimit = %d, nlocinfeas = %d, nother = %d\n",
1101 (*problem)->ncalls, (*problem)->nsuccess, (*problem)->nlimit, (*problem)->nlocinfeas, (*problem)->nother);
1107#ifdef SCIP_DISABLED_CODE
1118#define nlpiGetProblemPointerConopt NULL
1132 problem->firstrun =
TRUE;
1147 nlininds, lininds, linvals, exprs, names) );
1150 problem->firstrun =
TRUE;
1166 problem->firstrun =
TRUE;
1195 oracle = problem->oracle;
1200 for(
int i = 0;
i < nconss; ++
i )
1218 problem->firstrun =
TRUE;
1228 problem->firstrun =
TRUE;
1252 problem->firstrun =
TRUE;
1268 problem->firstrun =
TRUE;
1284 problem->firstrun =
TRUE;
1300 problem->firstrun =
TRUE;
1326 if( primalvalues !=
NULL )
1328 if( !problem->initguess )
1361 if( param.timelimit == 0.0 )
1364 problem->niterations = 0;
1365 problem->solvetime = 0.0;
1372 problem->niterations = -1;
1373 problem->solvetime = -1.0;
1379 if( problem->firstrun )
1382 problem->firstrun =
FALSE;
1390 COI_Error = COI_Solve(problem->CntVect);
1402 SCIPdebugMsg(
scip,
"Problem structure computation error in CONOPT's ReadMatrix callback\n");
1405 SCIPdebugMsg(
scip,
"Errors encountered in CONOPT during solution, %d\n", COI_Error);
1422 return problem->solstat;
1432 return problem->termstat;
1441 if( primalvalues !=
NULL )
1442 *primalvalues = problem->lastprimal;
1444 if( consdualvalues !=
NULL )
1445 *consdualvalues = problem->lastdualcons;
1447 if( varlbdualvalues !=
NULL )
1448 *varlbdualvalues = problem->lastduallb;
1450 if( varubdualvalues !=
NULL )
1451 *varubdualvalues = problem->lastdualub;
1454 *
objval = problem->objval;
1467 statistics->niterations = problem->niterations;
1468 statistics->totaltime = problem->solvetime;
1471 statistics->boundviol = 0.0;
1490#if defined(CONOPT_LICENSE_INT_1) && defined(CONOPT_LICENSE_INT_2) && defined(CONOPT_LICENSE_INT_3) && \
1491 defined(CONOPT_LICENSE_TEXT)
1492 nlpidata->license_int_1 = CONOPT_LICENSE_INT_1;
1493 nlpidata->license_int_2 = CONOPT_LICENSE_INT_2;
1494 nlpidata->license_int_3 = CONOPT_LICENSE_INT_3;
1495 (void)
SCIPsnprintf(nlpidata->license_text, (
int)
sizeof(nlpidata->license_text),
"%s", CONOPT_LICENSE_TEXT);
1503 nlpiAddVarsConopt, nlpiAddConstraintsConopt, nlpiSetObjectiveConopt,
1504 nlpiChgVarBoundsConopt, nlpiChgConsSidesConopt, nlpiDelVarSetConopt, nlpiDelConstraintSetConopt,
1505 nlpiChgLinearCoefsConopt, nlpiChgExprConopt, nlpiChgObjConstantConopt,
1506 nlpiSetInitialGuessConopt, nlpiSolveConopt,
1507 nlpiGetSolstatConopt, nlpiGetTermstatConopt, nlpiGetSolutionConopt, nlpiGetStatisticsConopt,
1530 data->license_int_1 = integer_1;
1531 data->license_int_2 = integer_2;
1532 data->license_int_3 = integer_3;
1533 (void)
SCIPsnprintf(data->license_text, (
int)
sizeof(data->license_text),
"%s", text);
1536#define STR_HELPER(x) #x
1537#define STR(x) STR_HELPER(x)
1544 return "CONOPT " STR(CONOPT_VERSION_MAJOR)
"." STR(CONOPT_VERSION_MINOR)
"." STR(CONOPT_VERSION_PATCH);
1552 return "Feasible path solver for large-scale nonlinear problems (conopt.com)";
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
void SCIPwarningMessage(SCIP *scip, const char *formatstr,...)
SCIP_RETCODE SCIPincludeNlpSolverConopt(SCIP *scip)
SCIP_RETCODE SCIPnlpiOracleEvalObjectiveValue(SCIP *scip, SCIP_NLPIORACLE *oracle, const SCIP_Real *x, SCIP_Real *objval)
SCIP_RETCODE SCIPnlpiOracleChgLinearCoefs(SCIP *scip, SCIP_NLPIORACLE *oracle, int considx, int nentries, const int *varidxs, const SCIP_Real *newcoefs)
SCIP_RETCODE SCIPnlpiOracleGetHessianLagSparsity(SCIP *scip, SCIP_NLPIORACLE *oracle, const int **offset, const int **allnz, SCIP_Bool colwise)
SCIP_RETCODE SCIPnlpiOracleChgVarBounds(SCIP *scip, SCIP_NLPIORACLE *oracle, int nvars, const int *indices, const SCIP_Real *lbs, const SCIP_Real *ubs)
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 SCIPnlpiOracleDelVarSet(SCIP *scip, SCIP_NLPIORACLE *oracle, int *delstats)
SCIP_RETCODE SCIPnlpiOracleCreate(SCIP *scip, SCIP_NLPIORACLE **oracle)
SCIP_RETCODE SCIPnlpiOracleEvalObjectiveGradient(SCIP *scip, SCIP_NLPIORACLE *oracle, const SCIP_Real *x, SCIP_Bool isnewx, SCIP_Real *objval, SCIP_Real *objgrad)
SCIP_RETCODE SCIPnlpiOracleResetEvalTime(SCIP *scip, SCIP_NLPIORACLE *oracle)
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_Real SCIPnlpiOracleGetConstraintRhs(SCIP_NLPIORACLE *oracle, int considx)
SCIP_Real SCIPnlpiOracleGetEvalTime(SCIP *scip, SCIP_NLPIORACLE *oracle)
SCIP_RETCODE SCIPnlpiOracleChgConsSides(SCIP *scip, SCIP_NLPIORACLE *oracle, int nconss, const int *indices, const SCIP_Real *lhss, const SCIP_Real *rhss)
SCIP_Real SCIPnlpiOracleGetConstraintLhs(SCIP_NLPIORACLE *oracle, int considx)
SCIP_RETCODE SCIPnlpiOracleGetJacobianColSparsity(SCIP *scip, SCIP_NLPIORACLE *oracle, const int **coloffsets, const int **rows, const SCIP_Bool **rownlflags, int *nnlnz)
SCIP_RETCODE SCIPnlpiOracleAddVars(SCIP *scip, SCIP_NLPIORACLE *oracle, int nvars, const SCIP_Real *lbs, const SCIP_Real *ubs, const char **varnames)
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 SCIPnlpiOracleEvalConstraintGradient(SCIP *scip, SCIP_NLPIORACLE *oracle, const int considx, const SCIP_Real *x, SCIP_Bool isnewx, SCIP_Real *conval, SCIP_Real *congrad)
int SCIPnlpiOracleGetNVars(SCIP_NLPIORACLE *oracle)
int SCIPnlpiOracleGetNConstraints(SCIP_NLPIORACLE *oracle)
SCIP_RETCODE SCIPnlpiOracleGetObjGradientNnz(SCIP *scip, SCIP_NLPIORACLE *oracle, const int **nz, const SCIP_Bool **nlnz, int *nnz, int *nnlnz)
SCIP_RETCODE SCIPnlpiOracleDelConsSet(SCIP *scip, SCIP_NLPIORACLE *oracle, int *delstats)
SCIP_RETCODE SCIPnlpiOracleSetProblemName(SCIP *scip, SCIP_NLPIORACLE *oracle, const char *name)
SCIP_RETCODE SCIPnlpiOracleChgObjConstant(SCIP *scip, SCIP_NLPIORACLE *oracle, SCIP_Real objconstant)
SCIP_RETCODE SCIPnlpiOracleEvalConstraintValue(SCIP *scip, SCIP_NLPIORACLE *oracle, int considx, const SCIP_Real *x, SCIP_Real *conval)
SCIP_Real SCIPnlpiOracleGetConstraintLinearCoef(SCIP_NLPIORACLE *oracle, int considx, int varpos)
const SCIP_Real * SCIPnlpiOracleGetVarLbs(SCIP_NLPIORACLE *oracle)
const SCIP_Real * SCIPnlpiOracleGetVarUbs(SCIP_NLPIORACLE *oracle)
SCIP_RETCODE SCIPnlpiOracleFree(SCIP *scip, SCIP_NLPIORACLE **oracle)
struct SCIP_NlpiOracle SCIP_NLPIORACLE
SCIP_RETCODE SCIPnlpiOracleChgExpr(SCIP *scip, SCIP_NLPIORACLE *oracle, int considx, SCIP_EXPR *expr)
void SCIPsetLicenseConopt(SCIP_NLPI *nlpi, int integer_1, int integer_2, int integer_3, const char *text)
const char * SCIPgetSolverDescConopt(void)
SCIP_Bool SCIPisConoptAvailableConopt(void)
const char * SCIPgetSolverNameConopt(void)
SCIP_RETCODE SCIPincludeExternalCodeInformation(SCIP *scip, const char *name, const char *description)
#define SCIPfreeCleanBufferArray(scip, ptr)
#define SCIPallocCleanBufferArray(scip, ptr, num)
#define SCIPfreeMemoryArrayNull(scip, ptr)
#define SCIPallocClearBlockMemory(scip, ptr)
#define SCIPallocClearBlockMemoryArray(scip, ptr, num)
#define SCIPallocBufferArray(scip, ptr, num)
#define SCIPfreeBufferArray(scip, ptr)
#define SCIPduplicateMemoryArray(scip, ptr, source, num)
#define SCIPfreeBlockMemory(scip, ptr)
#define SCIPfreeBlockMemoryArrayNull(scip, ptr, num)
#define SCIPduplicateBlockMemoryArray(scip, ptr, source, num)
SCIP_RETCODE SCIPincludeNlpi(SCIP *scip, 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)
SCIP_NLPI * SCIPfindNlpi(SCIP *scip, const char *name)
SCIP_NLPIDATA * SCIPnlpiGetData(SCIP_NLPI *nlpi)
SCIP_RETCODE SCIPcreateClock(SCIP *scip, SCIP_CLOCK **clck)
SCIP_RETCODE SCIPresetClock(SCIP *scip, SCIP_CLOCK *clck)
SCIP_RETCODE SCIPfreeClock(SCIP *scip, SCIP_CLOCK **clck)
SCIP_Real SCIPgetClockTime(SCIP *scip, SCIP_CLOCK *clck)
SCIP_RETCODE SCIPstartClock(SCIP *scip, SCIP_CLOCK *clck)
SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisLT(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Real SCIPrandomGetReal(SCIP_RANDNUMGEN *randnumgen, SCIP_Real minrandval, SCIP_Real maxrandval)
int SCIPsnprintf(char *t, int len, const char *s,...)
SCIPfreeRandom(scip, &heurdata->randnumgen)
SCIPcreateRandom(scip, &heurdata->randnumgen, DEFAULT_RANDSEED, TRUE))
assert(minobj< SCIPgetCutoffbound(scip))
#define BMScopyMemoryArray(ptr, source, num)
#define BMSclearMemoryArray(ptr, num)
static int COI_CALLCONV LagrStr(int HSRW[], int HSCL[], int *NODRV, int NUMVAR, int NUMCON, int NHESS, void *USRMEM)
static void handleConoptParam(SCIP_NLPIPROBLEM *problem, const SCIP_NLPPARAM param)
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 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 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)
#define nlpiGetSolverPointerConopt
#define nlpiGetProblemPointerConopt
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 ErrMsg(int ROWNO, int COLNO, int POSNO, const char *MSG, void *USRMEM)
static SCIP_RETCODE initConopt(SCIP *scip, SCIP_NLPIDATA *data, SCIP_NLPIPROBLEM *problem)
static int COI_CALLCONV Status(int MODSTA, int SOLSTA, int ITER, double OBJVAL, void *USRMEM)
static int COI_CALLCONV Message(int SMSG, int DMSG, int NMSG, char *MSGV[], void *USRMEM)
static int COI_CALLCONV Option(int NCALL, double *RVAL, int *IVAL, int *LVAL, char *NAME, void *USRMEM)
static void invalidateSolution(SCIP_NLPIPROBLEM *problem)
methods to store an NLP and request function, gradient, and Hessian values
public methods for message output
public data structures and miscellaneous methods
public methods for memory management
public methods for message handling
public methods for nonlinear relaxation
public methods for NLPI solver interfaces
public methods for numerical tolerances
public methods for random numbers
public methods for timing
SCIP_NLPPARAM_FASTFAIL fastfail
SCIP_RANDNUMGEN * randnumgen
SCIP_NLPTERMSTAT termstat
type definitions for clocks and timing issues
struct SCIP_Clock SCIP_CLOCK
struct SCIP_RandNumGen SCIP_RANDNUMGEN
#define SCIP_DECL_NLPISOLVE(x)
struct SCIP_NlpiProblem SCIP_NLPIPROBLEM
#define SCIP_DECL_NLPICHGLINEARCOEFS(x)
#define SCIP_DECL_NLPICHGOBJCONSTANT(x)
#define SCIP_NLPPARAM_PRINT(param)
#define SCIP_DECL_NLPIGETSOLUTION(x)
#define SCIP_DECL_NLPISETOBJECTIVE(x)
#define SCIP_DECL_NLPICREATEPROBLEM(x)
#define SCIP_DECL_NLPIGETSTATISTICS(x)
#define SCIP_DECL_NLPIDELCONSSET(x)
#define SCIP_DECL_NLPICHGCONSSIDES(x)
struct SCIP_Nlpi SCIP_NLPI
#define SCIP_DECL_NLPIDELVARSET(x)
#define SCIP_DECL_NLPICHGEXPR(x)
#define SCIP_DECL_NLPIADDVARS(x)
enum SCIP_NlpSolStat SCIP_NLPSOLSTAT
#define SCIP_DECL_NLPISETINITIALGUESS(x)
#define SCIP_DECL_NLPIFREEPROBLEM(x)
@ SCIP_NLPTERMSTAT_TIMELIMIT
@ SCIP_NLPTERMSTAT_NUMERICERROR
@ SCIP_NLPTERMSTAT_EVALERROR
@ SCIP_NLPTERMSTAT_ITERLIMIT
@ SCIP_NLPTERMSTAT_INTERRUPT
#define SCIP_DECL_NLPICOPY(x)
#define SCIP_DECL_NLPIGETSOLVERPOINTER(x)
#define SCIP_DECL_NLPIGETSOLSTAT(x)
#define SCIP_DECL_NLPICHGVARBOUNDS(x)
#define SCIP_DECL_NLPIGETPROBLEMPOINTER(x)
#define SCIP_DECL_NLPIFREE(x)
#define SCIP_DECL_NLPIADDCONSTRAINTS(x)
@ SCIP_NLPSOLSTAT_UNBOUNDED
@ SCIP_NLPSOLSTAT_GLOBINFEASIBLE
@ SCIP_NLPSOLSTAT_LOCINFEASIBLE
@ SCIP_NLPSOLSTAT_FEASIBLE
@ SCIP_NLPSOLSTAT_GLOBOPT
@ SCIP_NLPSOLSTAT_UNKNOWN
#define SCIP_DECL_NLPIGETTERMSTAT(x)
struct SCIP_NlpParam SCIP_NLPPARAM
enum SCIP_NlpTermStat SCIP_NLPTERMSTAT
struct SCIP_NlpiData SCIP_NLPIDATA
enum SCIP_Retcode SCIP_RETCODE