Scippy

SCIP

Solving Constraint Integer Programs

SCIP_NlpiProblem Struct Reference

Detailed Description

Definition at line 45 of file nlpi_all.c.

Public Member Functions

 SCIP_NlpiProblem ()
 

Data Fields

SCIP_NLPIPROBLEM ** nlpiproblems
 
int nnlpiproblems
 
int bestidx
 
SCIPscip
 
SCIP_NLPIORACLEoracle
 
int varssize
 
int conssize
 
SCIP_Realinitguess
 
SCIP_Bool warmstart
 
SCIP_Realprimalvalues
 
SCIP_Realconsdualvalues
 
SCIP_Realvarlbdualvalues
 
SCIP_Realvarubdualvalues
 
SCIP_NLPSOLSTAT solstat
 
SCIP_NLPTERMSTAT termstat
 
SCIP_Real solvetime
 
int niterations
 
fint istat [14]
 
real rstat [7]
 
real fmin
 
SCIP_Real maxtime
 
realx
 
realc
 
reallam
 
realbl
 
realbu
 
reals
 
char * cstype
 
reala
 
fintla
 
int lasize
 
finthessiannz
 
int hessiannzsize
 
realws
 
fintlws
 
fint mxwk
 
fint mxiwk
 
realevalbuffer
 
int evalbufsize
 
SCIP_RANDNUMGENrandnumgen
 
SmartPtr< IpoptApplication > ipopt
 
SmartPtr< ScipNLP > nlp
 
bool firstrun
 
bool samestructure
 
bool solprimalvalid
 
bool solprimalgiven
 
bool soldualvalid
 
bool soldualgiven
 
SCIP_Realsolprimals
 
SCIP_Realsoldualcons
 
SCIP_Realsoldualvarlb
 
SCIP_Realsoldualvarub
 
SCIP_Real solobjval
 
SCIP_Real solconsviol
 
SCIP_Real solboundviol
 
int lastniter
 
SCIP_Real lasttime
 
SCIP_NLPTERMSTAT lasttermstat
 
SCIP_NLPSOLSTAT lastsolstat
 
SCIP_Reallastprimal
 
SCIP_Reallastdualcons
 
SCIP_Reallastduallb
 
SCIP_Reallastdualub
 
int lastprimalsize
 
int lastdualconssize
 
int lastduallbsize
 
int lastdualubsize
 
SCIP_Bool firstrun
 
OptVar * opt
 
Workspace * wsp
 
Params * par
 
Control * cnt
 

Constructor & Destructor Documentation

◆ SCIP_NlpiProblem()

SCIP_NlpiProblem::SCIP_NlpiProblem ( )
inline

Field Documentation

◆ nlpiproblems

SCIP_NLPIPROBLEM** SCIP_NlpiProblem::nlpiproblems

array containing all nlpi problems

Definition at line 47 of file nlpi_all.c.

◆ nnlpiproblems

int SCIP_NlpiProblem::nnlpiproblems

total number of nlpi problems

Definition at line 48 of file nlpi_all.c.

◆ bestidx

int SCIP_NlpiProblem::bestidx

index of NLP solver with the best solution

Definition at line 49 of file nlpi_all.c.

◆ scip

SCIP* SCIP_NlpiProblem::scip

SCIP data structure

Definition at line 87 of file nlpi_filtersqp.c.

Referenced by F77_FUNC(), processSolveOutcome(), and setupStart().

◆ oracle

◆ varssize

int SCIP_NlpiProblem::varssize

length of variables-related arrays, if allocated

Definition at line 90 of file nlpi_filtersqp.c.

Referenced by processSolveOutcome(), and setupStart().

◆ conssize

int SCIP_NlpiProblem::conssize

length of constraints-related arrays, if allocated

Definition at line 91 of file nlpi_filtersqp.c.

Referenced by processSolveOutcome().

◆ initguess

SCIP_Real * SCIP_NlpiProblem::initguess

initial values for primal variables, or NULL if not known, size varssize

initial values for primal variables, or NULL if not known

Definition at line 93 of file nlpi_filtersqp.c.

Referenced by setupStart().

◆ warmstart

SCIP_Bool SCIP_NlpiProblem::warmstart

whether we could warmstart the next solve

Definition at line 94 of file nlpi_filtersqp.c.

Referenced by processSolveOutcome(), and SCIP_DECL_NLPISOLVE().

◆ primalvalues

SCIP_Real* SCIP_NlpiProblem::primalvalues

primal values of variables in solution, size varssize

Definition at line 96 of file nlpi_filtersqp.c.

Referenced by processSolveOutcome().

◆ consdualvalues

SCIP_Real* SCIP_NlpiProblem::consdualvalues

dual values of constraints in solution, size conssize

Definition at line 97 of file nlpi_filtersqp.c.

Referenced by processSolveOutcome().

◆ varlbdualvalues

SCIP_Real* SCIP_NlpiProblem::varlbdualvalues

dual values of variable lower bounds in solution, size varssize

Definition at line 98 of file nlpi_filtersqp.c.

Referenced by processSolveOutcome().

◆ varubdualvalues

SCIP_Real* SCIP_NlpiProblem::varubdualvalues

dual values of variable upper bounds in solution, size varssize

Definition at line 99 of file nlpi_filtersqp.c.

Referenced by processSolveOutcome().

◆ solstat

SCIP_NLPSOLSTAT SCIP_NlpiProblem::solstat

solution status from last NLP solve

status of current solution (if any)

Definition at line 101 of file nlpi_filtersqp.c.

Referenced by invalidateSolution(), invalidateSolved(), processSolveOutcome(), SCIP_DECL_NLPIGETSOLSTAT(), and SCIP_DECL_NLPISOLVE().

◆ termstat

SCIP_NLPTERMSTAT SCIP_NlpiProblem::termstat

termination status from last NLP solve

termination status of last solve (if any)

Definition at line 102 of file nlpi_filtersqp.c.

Referenced by invalidateSolution(), invalidateSolved(), processSolveOutcome(), SCIP_DECL_NLPIGETTERMSTAT(), and SCIP_DECL_NLPISOLVE().

◆ solvetime

SCIP_Real SCIP_NlpiProblem::solvetime

time spend for last NLP solve

Definition at line 103 of file nlpi_filtersqp.c.

Referenced by processSolveOutcome().

◆ niterations

int SCIP_NlpiProblem::niterations

number of iterations for last NLP solve

Definition at line 104 of file nlpi_filtersqp.c.

◆ istat

fint SCIP_NlpiProblem::istat[14]

integer solution statistics from last FilterSQP call

Definition at line 106 of file nlpi_filtersqp.c.

◆ rstat

real SCIP_NlpiProblem::rstat[7]

real solution statistics from last FilterSQP call

Definition at line 107 of file nlpi_filtersqp.c.

Referenced by processSolveOutcome().

◆ fmin

real SCIP_NlpiProblem::fmin

lower bound on objective value

Definition at line 108 of file nlpi_filtersqp.c.

Referenced by handleNlpParam(), and processSolveOutcome().

◆ maxtime

SCIP_Real SCIP_NlpiProblem::maxtime

time limit

Definition at line 109 of file nlpi_filtersqp.c.

Referenced by handleNlpParam(), processSolveOutcome(), and timelimitreached().

◆ x

real* SCIP_NlpiProblem::x

variable values, size varssize

Definition at line 112 of file nlpi_filtersqp.c.

◆ c

real* SCIP_NlpiProblem::c

constraint value, size conssize

Definition at line 113 of file nlpi_filtersqp.c.

◆ lam

real* SCIP_NlpiProblem::lam

duals, size varssize + conssize

Definition at line 114 of file nlpi_filtersqp.c.

◆ bl

real* SCIP_NlpiProblem::bl

variable lower bounds and constraint lhs, size varssize + conssize

Definition at line 115 of file nlpi_filtersqp.c.

◆ bu

real* SCIP_NlpiProblem::bu

variable upper bounds and constraint rhs, size varssize + conssize

Definition at line 116 of file nlpi_filtersqp.c.

◆ s

real* SCIP_NlpiProblem::s

scaling factors, size varssize + conssize

Definition at line 117 of file nlpi_filtersqp.c.

◆ cstype

char* SCIP_NlpiProblem::cstype

constraint linearity, size conssize

Definition at line 118 of file nlpi_filtersqp.c.

◆ a

real* SCIP_NlpiProblem::a

gradients values, size la[0]-1

Definition at line 119 of file nlpi_filtersqp.c.

◆ la

fint* SCIP_NlpiProblem::la

gradients indices, size lasize

Definition at line 120 of file nlpi_filtersqp.c.

◆ lasize

int SCIP_NlpiProblem::lasize

length of la array

Definition at line 121 of file nlpi_filtersqp.c.

◆ hessiannz

fint* SCIP_NlpiProblem::hessiannz

nonzero information about Hessian, size hessiannzsize

Definition at line 122 of file nlpi_filtersqp.c.

Referenced by F77_FUNC().

◆ hessiannzsize

int SCIP_NlpiProblem::hessiannzsize

length of hessiannz array

Definition at line 123 of file nlpi_filtersqp.c.

◆ ws

real* SCIP_NlpiProblem::ws

real workspace, size mxwk

Definition at line 124 of file nlpi_filtersqp.c.

◆ lws

fint* SCIP_NlpiProblem::lws

integer workspace, size mxiwk

Definition at line 125 of file nlpi_filtersqp.c.

◆ mxwk

fint SCIP_NlpiProblem::mxwk

size of real workspace

Definition at line 126 of file nlpi_filtersqp.c.

◆ mxiwk

fint SCIP_NlpiProblem::mxiwk

size of integer workspace

Definition at line 127 of file nlpi_filtersqp.c.

◆ evalbuffer

real* SCIP_NlpiProblem::evalbuffer

buffer to cache evaluation results before passing it to FilterSQP, size evalbufsize

Definition at line 128 of file nlpi_filtersqp.c.

Referenced by F77_FUNC(), and setupStart().

◆ evalbufsize

int SCIP_NlpiProblem::evalbufsize

size of evaluation buffer

Definition at line 129 of file nlpi_filtersqp.c.

Referenced by F77_FUNC().

◆ randnumgen

SCIP_RANDNUMGEN * SCIP_NlpiProblem::randnumgen

random number generator

Definition at line 168 of file nlpi_ipopt.cpp.

Referenced by ensureStartingPoint().

◆ ipopt

SmartPtr<IpoptApplication> SCIP_NlpiProblem::ipopt

Ipopt application

Definition at line 170 of file nlpi_ipopt.cpp.

Referenced by handleNlpParam(), SCIP_DECL_NLPIGETSOLVERPOINTER(), and SCIP_DECL_NLPISOLVE().

◆ nlp

SmartPtr<ScipNLP> SCIP_NlpiProblem::nlp

NLP in Ipopt form

Definition at line 171 of file nlpi_ipopt.cpp.

Referenced by SCIP_DECL_NLPIGETPROBLEMPOINTER(), and SCIP_DECL_NLPISOLVE().

◆ firstrun [1/2]

bool SCIP_NlpiProblem::firstrun

whether the next NLP solve will be the first one

Definition at line 173 of file nlpi_ipopt.cpp.

Referenced by initWorhp(), and SCIP_DECL_NLPISOLVE().

◆ samestructure

bool SCIP_NlpiProblem::samestructure

whether the NLP solved next will still have the same (Ipopt-internal) structure (same number of variables, constraints, bounds, and nonzero pattern)

Definition at line 174 of file nlpi_ipopt.cpp.

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_NLPISETOBJECTIVE(), and SCIP_DECL_NLPISOLVE().

◆ solprimalvalid

bool SCIP_NlpiProblem::solprimalvalid

whether primal solution values are available (solprimals has meaningful values)

Definition at line 178 of file nlpi_ipopt.cpp.

Referenced by ensureStartingPoint(), invalidateSolution(), SCIP_DECL_NLPICHGVARBOUNDS(), SCIP_DECL_NLPIDELVARSET(), SCIP_DECL_NLPISETINITIALGUESS(), and SCIP_DECL_NLPISOLVE().

◆ solprimalgiven

bool SCIP_NlpiProblem::solprimalgiven

whether primal solution values were set by caller

Definition at line 179 of file nlpi_ipopt.cpp.

Referenced by ensureStartingPoint(), invalidateSolution(), and SCIP_DECL_NLPISETINITIALGUESS().

◆ soldualvalid

bool SCIP_NlpiProblem::soldualvalid

whether dual solution values are available (soldual* have meaningful values)

Definition at line 180 of file nlpi_ipopt.cpp.

Referenced by ensureStartingPoint(), invalidateSolution(), SCIP_DECL_NLPIADDCONSTRAINTS(), SCIP_DECL_NLPIDELCONSSET(), SCIP_DECL_NLPIDELVARSET(), SCIP_DECL_NLPISETINITIALGUESS(), and SCIP_DECL_NLPISOLVE().

◆ soldualgiven

bool SCIP_NlpiProblem::soldualgiven

whether dual solution values were set by caller

Definition at line 181 of file nlpi_ipopt.cpp.

Referenced by ensureStartingPoint(), invalidateSolution(), SCIP_DECL_NLPIADDCONSTRAINTS(), and SCIP_DECL_NLPISETINITIALGUESS().

◆ solprimals

SCIP_Real* SCIP_NlpiProblem::solprimals

◆ soldualcons

SCIP_Real* SCIP_NlpiProblem::soldualcons

dual solution values of constraints, if available

Definition at line 183 of file nlpi_ipopt.cpp.

Referenced by ensureStartingPoint(), SCIP_DECL_NLPIADDCONSTRAINTS(), SCIP_DECL_NLPIDELCONSSET(), SCIP_DECL_NLPIGETSOLUTION(), and SCIP_DECL_NLPISETINITIALGUESS().

◆ soldualvarlb

SCIP_Real* SCIP_NlpiProblem::soldualvarlb

dual solution values of variable lower bounds, if available

Definition at line 184 of file nlpi_ipopt.cpp.

Referenced by ensureStartingPoint(), SCIP_DECL_NLPIADDVARS(), SCIP_DECL_NLPIDELVARSET(), SCIP_DECL_NLPIGETSOLUTION(), and SCIP_DECL_NLPISETINITIALGUESS().

◆ soldualvarub

SCIP_Real* SCIP_NlpiProblem::soldualvarub

dual solution values of variable upper bounds, if available

Definition at line 185 of file nlpi_ipopt.cpp.

Referenced by ensureStartingPoint(), SCIP_DECL_NLPIADDVARS(), SCIP_DECL_NLPIDELVARSET(), SCIP_DECL_NLPIGETSOLUTION(), and SCIP_DECL_NLPISETINITIALGUESS().

◆ solobjval

SCIP_Real SCIP_NlpiProblem::solobjval

objective function value in solution from last run

Definition at line 186 of file nlpi_ipopt.cpp.

Referenced by invalidateSolved(), SCIP_DECL_NLPICHGOBJCONSTANT(), and SCIP_DECL_NLPIGETSOLUTION().

◆ solconsviol

SCIP_Real SCIP_NlpiProblem::solconsviol

constraint violation of primal solution, if available

Definition at line 187 of file nlpi_ipopt.cpp.

Referenced by invalidateSolved(), and SCIP_DECL_NLPIGETSTATISTICS().

◆ solboundviol

SCIP_Real SCIP_NlpiProblem::solboundviol

variable bound violation of primal solution, if available

Definition at line 188 of file nlpi_ipopt.cpp.

Referenced by invalidateSolved(), and SCIP_DECL_NLPIGETSTATISTICS().

◆ lastniter

int SCIP_NlpiProblem::lastniter

number of iterations in last run

Definition at line 189 of file nlpi_ipopt.cpp.

Referenced by invalidateSolved(), SCIP_DECL_NLPIGETSTATISTICS(), and SCIP_DECL_NLPISOLVE().

◆ lasttime

SCIP_Real SCIP_NlpiProblem::lasttime

time spend in last run

Definition at line 190 of file nlpi_ipopt.cpp.

Referenced by invalidateSolved(), SCIP_DECL_NLPIGETSTATISTICS(), and SCIP_DECL_NLPISOLVE().

◆ lasttermstat

SCIP_NLPTERMSTAT SCIP_NlpiProblem::lasttermstat

termination status from last run

Definition at line 74 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ lastsolstat

SCIP_NLPSOLSTAT SCIP_NlpiProblem::lastsolstat

solution status from last run

Definition at line 75 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ lastprimal

SCIP_Real* SCIP_NlpiProblem::lastprimal

primal solution from last run, if available

Definition at line 79 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ lastdualcons

SCIP_Real* SCIP_NlpiProblem::lastdualcons

dual solution from last run, if available

Definition at line 80 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ lastduallb

SCIP_Real* SCIP_NlpiProblem::lastduallb

dual solution for lower bounds from last run, if available

Definition at line 81 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ lastdualub

SCIP_Real* SCIP_NlpiProblem::lastdualub

dual solution for upper bounds from last run, if available

Definition at line 82 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ lastprimalsize

int SCIP_NlpiProblem::lastprimalsize

size of lastprimal array

Definition at line 83 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ lastdualconssize

int SCIP_NlpiProblem::lastdualconssize

size of lastdualcons array

Definition at line 84 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ lastduallbsize

int SCIP_NlpiProblem::lastduallbsize

size of lastduallb array

Definition at line 85 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ lastdualubsize

int SCIP_NlpiProblem::lastdualubsize

size of lastdualub array

Definition at line 86 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), and invalidateSolution().

◆ firstrun [2/2]

SCIP_Bool SCIP_NlpiProblem::firstrun

whether the next NLP solve will be the first one (with the current problem structure)

Definition at line 88 of file nlpi_worhp.c.

◆ opt

OptVar* SCIP_NlpiProblem::opt

Worhp variables

Definition at line 92 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), freeWorhp(), initWorhp(), updateWorhp(), userDF(), userDG(), userF(), userG(), and userHM().

◆ wsp

Workspace* SCIP_NlpiProblem::wsp

Worhp working space

Definition at line 93 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), freeWorhp(), initWorhp(), updateWorhp(), userDF(), userDG(), userF(), userG(), and userHM().

◆ par

Params* SCIP_NlpiProblem::par

Worhp parameters

Definition at line 94 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), freeWorhp(), initWorhp(), and updateWorhp().

◆ cnt

Control* SCIP_NlpiProblem::cnt

Worhp control

Definition at line 95 of file nlpi_worhp.c.

Referenced by evaluateWorhpRun(), freeWorhp(), initWorhp(), and updateWorhp().