Detailed Description
filterSQP NLP interface
Definition in file nlpi_filtersqp.c.
#include <string.h>
#include <sys/time.h>
#include "scip/nlpi_filtersqp.h"
#include "scip/nlpioracle.h"
#include "scip/scip_general.h"
#include "scip/scip_message.h"
#include "scip/scip_mem.h"
#include "scip/scip_numerics.h"
#include "scip/scip_nlpi.h"
#include "scip/scip_randnumgen.h"
#include "scip/scip_solve.h"
#include "scip/pub_misc.h"
#include "scip/pub_message.h"
Go to the source code of this file.
Data Structures | |
struct | SCIP_Time |
struct | SCIP_NlpiProblem |
Macros | |
#define | NLPI_NAME "filtersqp" |
#define | NLPI_DESC "Sequential Quadratic Programming trust region solver by R. Fletcher and S. Leyffer" |
#define | NLPI_PRIORITY -1000 |
#define | RANDSEED 26051979 |
#define | MAXPERTURB 0.01 |
#define | MAXNRUNS 3 |
#define | WORKSPACEGROWTHFACTOR 2 |
#define | MINEPS 1e-14 |
#define | OPTTOLFACTOR 0.5 |
Typedefs | |
typedef int | fint |
typedef double | real |
typedef long | ftnlen |
typedef struct SCIP_Time | SCIP_TIME |
Functions | |
void | F77_FUNC (filtersqp, FILTERSQP) |
F77_FUNC (cpname, CPNAME) | |
struct { | |
fint phl | |
fint phr | |
fint phc | |
} | F77_FUNC (hessc, HESSC) |
struct { | |
real ubd | |
real tt | |
} | F77_FUNC (ubdc, UBDC) |
struct { | |
real infty | |
real eps | |
} | F77_FUNC (nlp_eps_inf, NLP_EPS_INF) |
struct { | |
fint n_bqpd_calls | |
fint n_bqpd_prfint | |
} | F77_FUNC (bqpd_count, BQPD_COUNT) |
struct { | |
fint scale_mode | |
fint phe | |
} | F77_FUNC (scalec, SCALEC) |
static SCIP_TIME | gettime (void) |
static SCIP_Real | timeelapsed (SCIP_NLPIDATA *nlpidata) |
static SCIP_Bool | timelimitreached (SCIP_NLPIDATA *nlpidata, SCIP_NLPIPROBLEM *nlpiproblem) |
void | F77_FUNC (objfun, OBJFUN) |
void | F77_FUNC (confun, CONFUN) |
void | F77_FUNC (gradient, GRADIENT) |
void | F77_FUNC (objgrad, OBJGRAD) |
void | F77_FUNC (hessian, HESSIAN) |
static SCIP_RETCODE | setupGradients (SCIP *scip, SCIP_NLPIORACLE *oracle, fint **la, int *lasize, real **a) |
static SCIP_RETCODE | setupHessian (SCIP *scip, SCIP_NLPIORACLE *oracle, fint **la, int *lasize) |
static SCIP_RETCODE | setupStart (SCIP_NLPIDATA *data, SCIP_NLPIPROBLEM *problem, real *x, SCIP_Bool *success) |
static void | invalidateSolution (SCIP_NLPIPROBLEM *problem) |
static SCIP_RETCODE | handleNlpParam (SCIP *scip, SCIP_NLPIPROBLEM *nlpiproblem, const SCIP_NLPPARAM param) |
static SCIP_RETCODE | processSolveOutcome (SCIP_NLPIDATA *nlpidata, SCIP_NLPIPROBLEM *problem, fint ifail, SCIP_Real feastol, SCIP_Real opttol, real *x, real *lam) |
static | SCIP_DECL_NLPICOPY (nlpiCopyFilterSQP) |
static | SCIP_DECL_NLPIFREE (nlpiFreeFilterSQP) |
static | SCIP_DECL_NLPICREATEPROBLEM (nlpiCreateProblemFilterSQP) |
static | SCIP_DECL_NLPIFREEPROBLEM (nlpiFreeProblemFilterSQP) |
static | SCIP_DECL_NLPIADDVARS (nlpiAddVarsFilterSQP) |
static | SCIP_DECL_NLPIADDCONSTRAINTS (nlpiAddConstraintsFilterSQP) |
static | SCIP_DECL_NLPISETOBJECTIVE (nlpiSetObjectiveFilterSQP) |
static | SCIP_DECL_NLPICHGVARBOUNDS (nlpiChgVarBoundsFilterSQP) |
static | SCIP_DECL_NLPICHGCONSSIDES (nlpiChgConsSidesFilterSQP) |
static | SCIP_DECL_NLPIDELVARSET (nlpiDelVarSetFilterSQP) |
static | SCIP_DECL_NLPIDELCONSSET (nlpiDelConstraintSetFilterSQP) |
static | SCIP_DECL_NLPICHGLINEARCOEFS (nlpiChgLinearCoefsFilterSQP) |
static | SCIP_DECL_NLPICHGEXPR (nlpiChgExprFilterSQP) |
static | SCIP_DECL_NLPICHGOBJCONSTANT (nlpiChgObjConstantFilterSQP) |
static | SCIP_DECL_NLPISETINITIALGUESS (nlpiSetInitialGuessFilterSQP) |
static | SCIP_DECL_NLPISOLVE (nlpiSolveFilterSQP) |
static | SCIP_DECL_NLPIGETSOLSTAT (nlpiGetSolstatFilterSQP) |
static | SCIP_DECL_NLPIGETTERMSTAT (nlpiGetTermstatFilterSQP) |
static | SCIP_DECL_NLPIGETSOLUTION (nlpiGetSolutionFilterSQP) |
static | SCIP_DECL_NLPIGETSTATISTICS (nlpiGetStatisticsFilterSQP) |
SCIP_RETCODE | SCIPincludeNlpSolverFilterSQP (SCIP *scip) |
const char * | SCIPgetSolverNameFilterSQP (void) |
const char * | SCIPgetSolverDescFilterSQP (void) |
SCIP_Bool | SCIPisFilterSQPAvailableFilterSQP (void) |
Macro Definition Documentation
◆ NLPI_NAME
#define NLPI_NAME "filtersqp" |
short concise name of solver
Definition at line 63 of file nlpi_filtersqp.c.
◆ NLPI_DESC
#define NLPI_DESC "Sequential Quadratic Programming trust region solver by R. Fletcher and S. Leyffer" |
description of solver
Definition at line 64 of file nlpi_filtersqp.c.
◆ NLPI_PRIORITY
#define NLPI_PRIORITY -1000 |
priority of NLP solver
Definition at line 65 of file nlpi_filtersqp.c.
◆ RANDSEED
#define RANDSEED 26051979 |
initial random seed
Definition at line 67 of file nlpi_filtersqp.c.
◆ MAXPERTURB
#define MAXPERTURB 0.01 |
maximal perturbation of bounds in starting point heuristic
Definition at line 68 of file nlpi_filtersqp.c.
◆ MAXNRUNS
#define MAXNRUNS 3 |
maximal number of FilterSQP calls per NLP solve (several calls if increasing workspace or decreasing eps)
Definition at line 69 of file nlpi_filtersqp.c.
◆ WORKSPACEGROWTHFACTOR
#define WORKSPACEGROWTHFACTOR 2 |
factor by which to increase workspace
Definition at line 70 of file nlpi_filtersqp.c.
◆ MINEPS
#define MINEPS 1e-14 |
minimal FilterSQP epsilon
Definition at line 71 of file nlpi_filtersqp.c.
◆ OPTTOLFACTOR
#define OPTTOLFACTOR 0.5 |
factor to apply to optimality tolerance, because FilterSQP do scaling
Definition at line 72 of file nlpi_filtersqp.c.
Typedef Documentation
◆ fint
typedef int fint |
Definition at line 78 of file nlpi_filtersqp.c.
◆ real
typedef double real |
Definition at line 79 of file nlpi_filtersqp.c.
◆ ftnlen
typedef long ftnlen |
Definition at line 80 of file nlpi_filtersqp.c.
◆ SCIP_TIME
Definition at line 87 of file nlpi_filtersqp.c.
Function Documentation
◆ F77_FUNC() [1/12]
void F77_FUNC | ( | filtersqp | , |
FILTERSQP | |||
) |
FilterSQP main routine.
Array a has length nnza, which is the number of nonzeros in the gradient of the objective and the Jacobian. The first entries of a is the objective gradient, next are the gradients of the constraints.
Array la has length lamax, which is at least nnza+m+2. la contains the index information of a row-oriented sparse matrix storage. It stores the number of nonzeros, the column indices, and the row starts: la[0] must be set to nnza+1. la[1]..la[nnza] are indices of the variables corresponding to the entries in a (colidx). la[nnza+1]..la[nnza+1+m] contain the index where each row starts in a and la (rowstart). common block for problemname
Definition at line 170 of file nlpi_filtersqp.c.
Referenced by SCIP_DECL_NLPISOLVE(), SCIPlapackSolveLinearEquations(), SCIPlapackVersion(), and setupHessian().
◆ F77_FUNC() [2/12]
F77_FUNC | ( | cpname | , |
CPNAME | |||
) |
◆ F77_FUNC() [3/12]
struct @7 F77_FUNC | ( | hessc | , |
HESSC | |||
) |
common block for Hessian storage set to 0, i.e. NO Hessian
◆ F77_FUNC() [4/12]
struct @8 F77_FUNC | ( | ubdc | , |
UBDC | |||
) |
common block for upper bound on filter
◆ F77_FUNC() [5/12]
struct @9 F77_FUNC | ( | nlp_eps_inf | , |
NLP_EPS_INF | |||
) |
common block for infinity & epsilon
◆ F77_FUNC() [6/12]
struct @10 F77_FUNC | ( | bqpd_count | , |
BQPD_COUNT | |||
) |
common block for printing from QP solver
◆ F77_FUNC() [7/12]
struct @11 F77_FUNC | ( | scalec | , |
SCALEC | |||
) |
common for scaling: scale_mode = 0 (none), 1 (variables), 2 (vars+cons)
◆ gettime()
|
static |
Definition at line 275 of file nlpi_filtersqp.c.
References NULL, SCIP_Time::sec, and SCIP_Time::usec.
Referenced by SCIP_DECL_NLPISOLVE(), and timeelapsed().
◆ timeelapsed()
|
static |
- Parameters
-
nlpidata NLPI data
Definition at line 297 of file nlpi_filtersqp.c.
References gettime(), NULL, SCIP_Real, SCIP_Time::sec, and SCIP_Time::usec.
Referenced by processSolveOutcome(), and timelimitreached().
◆ timelimitreached()
|
static |
- Parameters
-
nlpidata NLPI data nlpiproblem NLPI problem
Definition at line 315 of file nlpi_filtersqp.c.
References FALSE, SCIP_NlpiProblem::maxtime, SCIP_REAL_MAX, and timeelapsed().
Referenced by F77_FUNC(), and SCIP_DECL_NLPISOLVE().
◆ F77_FUNC() [8/12]
void F77_FUNC | ( | objfun | , |
OBJFUN | |||
) |
Objective function evaluation set to 1 if arithmetic exception occurs, otherwise 0
Definition at line 327 of file nlpi_filtersqp.c.
References NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_OKAY, SCIPdebugMsg, SCIPisFinite, SCIPisSolveInterrupted(), SCIPnlpiOracleEvalObjectiveValue(), timelimitreached(), and x.
◆ F77_FUNC() [9/12]
void F77_FUNC | ( | confun | , |
CONFUN | |||
) |
Constraint functions evaluation set to 1 if arithmetic exception occurs, otherwise 0
Definition at line 362 of file nlpi_filtersqp.c.
References NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_OKAY, SCIPdebugMsg, SCIPisFinite, SCIPnlpiOracleEvalConstraintValue(), and x.
◆ F77_FUNC() [10/12]
void F77_FUNC | ( | gradient | , |
GRADIENT | |||
) |
Objective gradient and Jacobian evaluation
- Note
- If an arithmetic exception occurred, then the gradients must not be modified. set to 1 if arithmetic exception occurs, otherwise 0
Definition at line 399 of file nlpi_filtersqp.c.
References a, BMScopyMemoryArray, SCIP_NlpiProblem::evalbuffer, SCIP_NlpiProblem::evalbufsize, NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_OKAY, SCIP_Real, SCIPdebugMsg, SCIPnlpiOracleEvalJacobian(), SCIPnlpiOracleEvalObjectiveGradient(), TRUE, and x.
◆ F77_FUNC() [11/12]
void F77_FUNC | ( | objgrad | , |
OBJGRAD | |||
) |
Definition at line 455 of file nlpi_filtersqp.c.
References SCIPerrorMessage.
◆ F77_FUNC() [12/12]
void F77_FUNC | ( | hessian | , |
HESSIAN | |||
) |
Hessian of the Lagrangian evaluation
phase = 1 : Hessian of the Lagrangian without objective Hessian
phase = 2 : Hessian of the Lagrangian (including objective Hessian)
- Note
- If an arithmetic exception occurred, then the Hessian must not be modified. set to 1 if arithmetic exception occurs, otherwise 0
Definition at line 469 of file nlpi_filtersqp.c.
References BMSallocMemoryArray, BMScopyMemoryArray, BMSfreeMemoryArray, SCIP_NlpiProblem::evalbuffer, SCIP_NlpiProblem::evalbufsize, SCIP_NlpiProblem::hessiannz, NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::scip, SCIP_OKAY, SCIP_Real, SCIPdebugMsg, SCIPnlpiOracleEvalHessianLag(), TRUE, and x.
◆ setupGradients()
|
static |
- Parameters
-
scip SCIP data structure oracle NLPI oracle la buffer to store pointer to sparsity structure lasize buffer to store length of *la array a buffer to store pointer to value buffer
Definition at line 527 of file nlpi_filtersqp.c.
References a, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPnlpiOracleGetJacobianSparsity(), SCIPnlpiOracleGetNConstraints(), and SCIPnlpiOracleGetNVars().
Referenced by SCIP_DECL_NLPISOLVE().
◆ setupHessian()
|
static |
- Parameters
-
scip SCIP data structure oracle NLPI oracle la buffer to store pointer to Hessian sparsity structure lasize buffer to store length of *la array
Definition at line 596 of file nlpi_filtersqp.c.
References F77_FUNC(), NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPnlpiOracleGetHessianLagSparsity(), and SCIPnlpiOracleGetNVars().
Referenced by SCIP_DECL_NLPISOLVE().
◆ setupStart()
|
static |
setup starting point for FilterSQP
- Parameters
-
data NLPI data problem NLPI problem x array to store initial values success whether we could setup a point in which functions could be evaluated
Definition at line 659 of file nlpi_filtersqp.c.
References SCIP_NlpiProblem::evalbuffer, FALSE, SCIP_NlpiProblem::initguess, MAX, MAXPERTURB, MIN, NULL, SCIP_NlpiProblem::oracle, RANDSEED, SCIP_NlpiProblem::scip, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcreateRandom(), SCIPdebugMsg, SCIPfreeBlockMemoryArray, SCIPisFinite, SCIPnlpiOracleEvalConstraintValue(), SCIPnlpiOracleEvalJacobian(), SCIPnlpiOracleEvalObjectiveGradient(), SCIPnlpiOracleEvalObjectiveValue(), SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), SCIPnlpiOracleGetVarLbs(), SCIPnlpiOracleGetVarUbs(), SCIPrandomGetReal(), setupStart(), TRUE, SCIP_NlpiProblem::varssize, and x.
Referenced by SCIP_DECL_NLPISOLVE(), and setupStart().
◆ invalidateSolution()
|
static |
sets the solstat and termstat to unknown and other, resp.
- Parameters
-
problem data structure of problem
Definition at line 735 of file nlpi_filtersqp.c.
References NULL, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_OTHER, SCIP_NlpiProblem::solstat, and SCIP_NlpiProblem::termstat.
Referenced by SCIP_DECL_NLPIADDCONSTRAINTS(), SCIP_DECL_NLPIADDVARS(), SCIP_DECL_NLPICHGCONSSIDES(), SCIP_DECL_NLPICHGEXPR(), SCIP_DECL_NLPICHGLINEARCOEFS(), SCIP_DECL_NLPICHGOBJCONSTANT(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIP_DECL_NLPICREATEPROBLEM(), SCIP_DECL_NLPIDELCONSSET(), SCIP_DECL_NLPIDELVARSET(), and SCIP_DECL_NLPISETOBJECTIVE().
◆ handleNlpParam()
|
static |
store NLP solve parameters in nlpiproblem
- Parameters
-
scip SCIP data structure nlpiproblem NLP param solve parameters
Definition at line 747 of file nlpi_filtersqp.c.
References SCIP_NlpParam::fastfail, SCIP_NlpiProblem::fmin, SCIP_NlpParam::lobjlimit, SCIP_NlpiProblem::maxtime, NULL, SCIP_OKAY, SCIPdebugMsg, and SCIP_NlpParam::timelimit.
Referenced by SCIP_DECL_NLPISOLVE().
◆ processSolveOutcome()
|
static |
processes results from FilterSQP call
- Parameters
-
nlpidata NLPI data problem NLPI problem ifail fail flag from FilterSQP call feastol feasibility tolerance opttol optimality tolerance x primal solution values from FilterSQP call, or NULL if stopped before filtersqp got called lam dual solution values from FilterSQP call, or NULL if stopped before filtersqp got called
Definition at line 770 of file nlpi_filtersqp.c.
References SCIP_NlpiProblem::consdualvalues, SCIP_NlpiProblem::conssize, FALSE, SCIP_NlpiProblem::fmin, MAX, SCIP_NlpiProblem::maxtime, NULL, SCIP_NlpiProblem::oracle, SCIP_NlpiProblem::primalvalues, SCIP_NlpiProblem::rstat, SCIP_NlpiProblem::scip, SCIP_CALL, SCIP_NLPSOLSTAT_FEASIBLE, SCIP_NLPSOLSTAT_GLOBINFEASIBLE, SCIP_NLPSOLSTAT_LOCINFEASIBLE, SCIP_NLPSOLSTAT_LOCOPT, SCIP_NLPSOLSTAT_UNBOUNDED, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_EVALERROR, SCIP_NLPTERMSTAT_INTERRUPT, SCIP_NLPTERMSTAT_ITERLIMIT, SCIP_NLPTERMSTAT_LOBJLIMIT, SCIP_NLPTERMSTAT_NUMERICERROR, SCIP_NLPTERMSTAT_OKAY, SCIP_NLPTERMSTAT_OTHER, SCIP_NLPTERMSTAT_OUTOFMEMORY, SCIP_NLPTERMSTAT_TIMELIMIT, SCIP_OKAY, SCIP_REAL_MIN, SCIPallocBlockMemoryArray, SCIPisSolveInterrupted(), SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), SCIP_NlpiProblem::solstat, SCIP_NlpiProblem::solvetime, SCIP_NlpiProblem::termstat, timeelapsed(), TRUE, SCIP_NlpiProblem::varlbdualvalues, SCIP_NlpiProblem::varssize, SCIP_NlpiProblem::varubdualvalues, SCIP_NlpiProblem::warmstart, and x.
Referenced by SCIP_DECL_NLPISOLVE().
◆ SCIP_DECL_NLPICOPY()
|
static |
copy method of NLP interface (called when SCIP copies plugins)
Definition at line 925 of file nlpi_filtersqp.c.
References SCIP_CALL, SCIP_OKAY, and SCIPincludeNlpSolverFilterSQP().
◆ SCIP_DECL_NLPIFREE()
|
static |
destructor of NLP interface to free nlpi data
Definition at line 934 of file nlpi_filtersqp.c.
References NULL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPfreeRandom().
◆ SCIP_DECL_NLPICREATEPROBLEM()
|
static |
creates a problem instance
Definition at line 953 of file nlpi_filtersqp.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_REAL_MAX, SCIP_REAL_MIN, SCIPallocClearBlockMemory, SCIPnlpiOracleCreate(), and SCIPnlpiOracleSetProblemName().
◆ SCIP_DECL_NLPIFREEPROBLEM()
|
static |
free a problem instance
Definition at line 974 of file nlpi_filtersqp.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArrayNull, and SCIPnlpiOracleFree().
◆ SCIP_DECL_NLPIADDVARS()
|
static |
add variables
Definition at line 1012 of file nlpi_filtersqp.c.
References FALSE, invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), SCIPfreeBlockMemoryArrayNull, SCIPnlpiOracleAddVars(), SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), and SCIPreallocBlockMemoryArray.
◆ SCIP_DECL_NLPIADDCONSTRAINTS()
|
static |
add constraints
Definition at line 1111 of file nlpi_filtersqp.c.
References FALSE, invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), SCIPfreeBlockMemoryArrayNull, SCIPnlpiOracleAddConstraints(), SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), SCIPnlpiOracleIsConstraintNonlinear(), and SCIPreallocBlockMemoryArray.
◆ SCIP_DECL_NLPISETOBJECTIVE()
|
static |
sets or overwrites objective, a minimization problem is expected
Definition at line 1191 of file nlpi_filtersqp.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, and SCIPnlpiOracleSetObjective().
◆ SCIP_DECL_NLPICHGVARBOUNDS()
|
static |
change variable bounds
Definition at line 1212 of file nlpi_filtersqp.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiOracleChgVarBounds().
◆ SCIP_DECL_NLPICHGCONSSIDES()
|
static |
change constraint bounds
Definition at line 1239 of file nlpi_filtersqp.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPnlpiOracleChgConsSides(), and SCIPnlpiOracleGetNVars().
◆ SCIP_DECL_NLPIDELVARSET()
|
static |
delete a set of variables
Definition at line 1269 of file nlpi_filtersqp.c.
References FALSE, invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, and SCIPnlpiOracleDelVarSet().
◆ SCIP_DECL_NLPIDELCONSSET()
|
static |
delete a set of constraints
Definition at line 1299 of file nlpi_filtersqp.c.
References FALSE, invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, and SCIPnlpiOracleDelConsSet().
◆ SCIP_DECL_NLPICHGLINEARCOEFS()
|
static |
changes (or adds) linear coefficients in a constraint or objective
Definition at line 1326 of file nlpi_filtersqp.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, and SCIPnlpiOracleChgLinearCoefs().
◆ SCIP_DECL_NLPICHGEXPR()
|
static |
replaces the expression of a constraint or objective
Definition at line 1350 of file nlpi_filtersqp.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArrayNull, and SCIPnlpiOracleChgExpr().
◆ SCIP_DECL_NLPICHGOBJCONSTANT()
|
static |
change the constant offset in the objective
Definition at line 1376 of file nlpi_filtersqp.c.
References invalidateSolution(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPnlpiOracleChgObjConstant().
◆ SCIP_DECL_NLPISETINITIALGUESS()
|
static |
sets initial guess for primal variables
Definition at line 1391 of file nlpi_filtersqp.c.
References BMScopyMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPfreeBlockMemoryArrayNull, and SCIPnlpiOracleGetNVars().
◆ SCIP_DECL_NLPISOLVE()
|
static |
tries to solve NLP
Definition at line 1416 of file nlpi_filtersqp.c.
References BMSclearMemoryArray, BMScopyMemoryArray, BMSreallocBlockMemoryArray, eps, F77_FUNC(), FALSE, gettime(), handleNlpParam(), MAX, MAX3, MAXNRUNS, MIN, MINEPS, NULL, OPTTOLFACTOR, processSolveOutcome(), SCIP_Bool, SCIP_CALL, SCIP_NLPPARAM_PRINT, SCIP_NLPSOLSTAT_UNKNOWN, SCIP_NLPTERMSTAT_TIMELIMIT, SCIP_OKAY, SCIP_Real, SCIPallocBlockMemoryArray, SCIPallocClearBlockMemoryArray, SCIPblkmem(), SCIPcalcMemGrowSize(), SCIPdebugMsg, SCIPensureBlockMemoryArray, SCIPinfinity(), SCIPinfoMessage(), SCIPisSolveInterrupted(), SCIPnlpiGetData(), SCIPnlpiOracleGetConstraintLhs(), SCIPnlpiOracleGetConstraintRhs(), SCIPnlpiOracleGetNConstraints(), SCIPnlpiOracleGetNVars(), SCIPnlpiOracleGetVarLbs(), SCIPnlpiOracleGetVarUbs(), SCIPnlpiOracleIsConstraintNonlinear(), SCIPnlpiOracleResetEvalTime(), setupGradients(), setupHessian(), setupStart(), timelimitreached(), and WORKSPACEGROWTHFACTOR.
◆ SCIP_DECL_NLPIGETSOLSTAT()
|
static |
◆ SCIP_DECL_NLPIGETTERMSTAT()
|
static |
◆ SCIP_DECL_NLPIGETSOLUTION()
|
static |
gives primal and dual solution values
Definition at line 1736 of file nlpi_filtersqp.c.
References NULL, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, and SCIPnlpiOracleEvalObjectiveValue().
◆ SCIP_DECL_NLPIGETSTATISTICS()
|
static |
gives solve statistics
Definition at line 1784 of file nlpi_filtersqp.c.
References NULL, SCIP_OKAY, and SCIPnlpiOracleGetEvalTime().
Variable Documentation
◆ phl
fint phl |
Definition at line 237 of file nlpi_filtersqp.c.
◆ phr
fint phr |
Definition at line 237 of file nlpi_filtersqp.c.
◆ phc
fint phc |
Definition at line 237 of file nlpi_filtersqp.c.
◆ ubd
real ubd |
Definition at line 244 of file nlpi_filtersqp.c.
◆ tt
real tt |
Definition at line 244 of file nlpi_filtersqp.c.
◆ infty
real infty |
Definition at line 250 of file nlpi_filtersqp.c.
◆ eps
real eps |
Definition at line 250 of file nlpi_filtersqp.c.
Referenced by checkRedundancySide(), createSubproblem(), ObjPricerVRP::find_shortest_tour(), SCIP_DECL_NLPISOLVE(), SCIPbanditCreateEpsgreedy(), SCIPbranchGetScore(), SCIPcalcMachineEpsilon(), SCIPcalcRootNewton(), SCIPcomputeGap(), SCIPcreateBanditEpsgreedy(), SCIPhistoryUpdatePseudocost(), SCIPintervalAreDisjointEps(), SCIPintervalIntersectEps(), SCIPlpGetNUnfixedCols(), SCIPlpiGetBInvACol(), SCIPlpiGetBInvARow(), SCIPlpiGetBInvCol(), SCIPlpiGetBInvRow(), SCIPlpiIsPrimalFeasible(), SCIPlpiSolveDual(), SCIProwGetLPEfficacy(), SCIProwGetNLPEfficacy(), SCIProwGetRelaxEfficacy(), SCIProwGetSolEfficacy(), SCIPsetEpsilonEpsgreedy(), strongbranch(), tightenDualproof(), and varProcessChgBranchFactor().
◆ n_bqpd_calls
fint n_bqpd_calls |
Definition at line 257 of file nlpi_filtersqp.c.
◆ n_bqpd_prfint
fint n_bqpd_prfint |
Definition at line 257 of file nlpi_filtersqp.c.
◆ scale_mode
fint scale_mode |
Definition at line 266 of file nlpi_filtersqp.c.
◆ phe
fint phe |
Definition at line 266 of file nlpi_filtersqp.c.