Scippy

    SCIP

    Solving Constraint Integer Programs

    SCIP_NlpiProblem Struct Reference

    Detailed Description

    Definition at line 55 of file nlpi_all.c.

    Public Member Functions

     SCIP_NlpiProblem ()
     

    Data Fields

    SCIP_NLPIPROBLEM ** nlpiproblems
     
    int nnlpiproblems
     
    int bestidx
     
    SCIPscip
     
    SCIP_NLPIORACLEoracle
     
    SCIP_RANDNUMGENrandnumgen
     
    SCIP_Bool firstrun
     
    SCIP_Realinitguess
     
    SCIP_NLPSOLSTAT solstat
     
    SCIP_NLPTERMSTAT termstat
     
    SCIP_Real solvetime
     
    int niterations
     
    SCIP_Real objval
     
    SCIP_Reallastprimal
     
    SCIP_Reallastdualcons
     
    SCIP_Reallastduallb
     
    SCIP_Reallastdualub
     
    int varsolsize
     
    int conssolsize
     
    coiHandle_t CntVect
     
    int verblevel
     
    SCIP_Real opttol
     
    int ncalls
     
    int nsuccess
     
    int nlocinfeas
     
    int nother
     
    int nlimit
     
    int varssize
     
    int conssize
     
    SCIP_Bool warmstart
     
    SCIP_Realprimalvalues
     
    SCIP_Realconsdualvalues
     
    SCIP_Realvarlbdualvalues
     
    SCIP_Realvarubdualvalues
     
    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
     
    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
     
    int lastprimalsize
     
    int lastdualconssize
     
    int lastduallbsize
     
    int lastdualubsize
     
    OptVar * opt
     
    Workspace * wsp
     
    Params * par
     
    Control * cnt
     

    Constructor & Destructor Documentation

    ◆ SCIP_NlpiProblem()

    SCIP_NlpiProblem::SCIP_NlpiProblem ( )
    inline

    constructor

    Definition at line 209 of file nlpi_ipopt.cpp.

    Field Documentation

    ◆ nlpiproblems

    SCIP_NLPIPROBLEM** SCIP_NlpiProblem::nlpiproblems

    array containing all nlpi problems

    Definition at line 57 of file nlpi_all.c.

    ◆ nnlpiproblems

    int SCIP_NlpiProblem::nnlpiproblems

    total number of nlpi problems

    Definition at line 58 of file nlpi_all.c.

    ◆ bestidx

    int SCIP_NlpiProblem::bestidx

    index of NLP solver with the best solution

    Definition at line 59 of file nlpi_all.c.

    ◆ scip

    ◆ oracle

    ◆ randnumgen

    SCIP_RANDNUMGEN * SCIP_NlpiProblem::randnumgen

    random number generator

    Definition at line 79 of file nlpi_conopt.c.

    Referenced by ensureStartingPoint(), and ReadMatrix().

    ◆ firstrun [1/2]

    SCIP_Bool SCIP_NlpiProblem::firstrun

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

    Definition at line 81 of file nlpi_conopt.c.

    Referenced by initWorhp(), and SCIP_DECL_NLPISOLVE().

    ◆ initguess

    SCIP_Real * SCIP_NlpiProblem::initguess

    initial values for primal variables, or NULL if not known

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

    Definition at line 82 of file nlpi_conopt.c.

    Referenced by ReadMatrix(), setupStart(), and Solution().

    ◆ solstat

    SCIP_NLPSOLSTAT SCIP_NlpiProblem::solstat

    solution status from last NLP solve

    status of current solution (if any)

    Definition at line 84 of file nlpi_conopt.c.

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

    ◆ termstat

    SCIP_NLPTERMSTAT SCIP_NlpiProblem::termstat

    termination status from last NLP solve

    termination status of last solve (if any)

    Definition at line 85 of file nlpi_conopt.c.

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

    ◆ solvetime

    SCIP_Real SCIP_NlpiProblem::solvetime

    time spend for last NLP solve

    Definition at line 86 of file nlpi_conopt.c.

    Referenced by processSolveOutcome().

    ◆ niterations

    int SCIP_NlpiProblem::niterations

    number of iterations for last NLP solve

    Definition at line 87 of file nlpi_conopt.c.

    Referenced by Status().

    ◆ objval

    SCIP_Real SCIP_NlpiProblem::objval

    objective value from last run

    Definition at line 88 of file nlpi_conopt.c.

    Referenced by Status().

    ◆ lastprimal

    SCIP_Real * SCIP_NlpiProblem::lastprimal

    primal solution from last run, if available

    Definition at line 90 of file nlpi_conopt.c.

    Referenced by evaluateWorhpRun(), invalidateSolution(), and Solution().

    ◆ lastdualcons

    SCIP_Real * SCIP_NlpiProblem::lastdualcons

    dual solution from last run, if available

    Definition at line 91 of file nlpi_conopt.c.

    Referenced by evaluateWorhpRun(), invalidateSolution(), and Solution().

    ◆ lastduallb

    SCIP_Real * SCIP_NlpiProblem::lastduallb

    dual solution for lower bounds from last run, if available

    Definition at line 92 of file nlpi_conopt.c.

    Referenced by evaluateWorhpRun(), invalidateSolution(), and Solution().

    ◆ lastdualub

    SCIP_Real * SCIP_NlpiProblem::lastdualub

    dual solution for upper bounds from last run, if available

    Definition at line 93 of file nlpi_conopt.c.

    Referenced by evaluateWorhpRun(), invalidateSolution(), and Solution().

    ◆ varsolsize

    int SCIP_NlpiProblem::varsolsize

    size of solution values arrays corresponding to variables

    Definition at line 94 of file nlpi_conopt.c.

    Referenced by invalidateSolution(), and Solution().

    ◆ conssolsize

    int SCIP_NlpiProblem::conssolsize

    size of solution values array corresponding to constraints

    Definition at line 95 of file nlpi_conopt.c.

    Referenced by invalidateSolution(), and Solution().

    ◆ CntVect

    coiHandle_t SCIP_NlpiProblem::CntVect

    pointer to CONOPT Control Vector

    Definition at line 97 of file nlpi_conopt.c.

    Referenced by handleConoptParam(), and initConopt().

    ◆ verblevel

    int SCIP_NlpiProblem::verblevel

    verbosity level, same as in SCIP_NlpParam: 0 off, 1 normal, 2 debug, > 2 more debug

    Definition at line 100 of file nlpi_conopt.c.

    Referenced by ErrMsg(), handleConoptParam(), Message(), and Option().

    ◆ opttol

    SCIP_Real SCIP_NlpiProblem::opttol

    optimality tolerance

    Definition at line 101 of file nlpi_conopt.c.

    Referenced by handleConoptParam(), and Option().

    ◆ ncalls

    int SCIP_NlpiProblem::ncalls

    overall number of solver calls

    Definition at line 104 of file nlpi_conopt.c.

    Referenced by Status().

    ◆ nsuccess

    int SCIP_NlpiProblem::nsuccess

    number of successes (optimal or feasible solution found or proven unbounded)

    Definition at line 105 of file nlpi_conopt.c.

    Referenced by Status().

    ◆ nlocinfeas

    int SCIP_NlpiProblem::nlocinfeas

    number of calls resulting in local infeasibility

    Definition at line 106 of file nlpi_conopt.c.

    Referenced by Status().

    ◆ nother

    int SCIP_NlpiProblem::nother

    number of other calls

    Definition at line 107 of file nlpi_conopt.c.

    Referenced by Status().

    ◆ nlimit

    int SCIP_NlpiProblem::nlimit

    number of calls where the solver terminated due to a time or iteration limit

    Definition at line 108 of file nlpi_conopt.c.

    Referenced by Status().

    ◆ varssize

    int SCIP_NlpiProblem::varssize

    length of variables-related arrays, if allocated

    Definition at line 100 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 101 of file nlpi_filtersqp.c.

    Referenced by processSolveOutcome().

    ◆ warmstart

    SCIP_Bool SCIP_NlpiProblem::warmstart

    whether we could warmstart the next solve

    Definition at line 104 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 106 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 107 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 108 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 109 of file nlpi_filtersqp.c.

    Referenced by processSolveOutcome().

    ◆ istat

    fint SCIP_NlpiProblem::istat[14]

    integer solution statistics from last FilterSQP call

    Definition at line 116 of file nlpi_filtersqp.c.

    ◆ rstat

    real SCIP_NlpiProblem::rstat[7]

    real solution statistics from last FilterSQP call

    Definition at line 117 of file nlpi_filtersqp.c.

    Referenced by processSolveOutcome().

    ◆ fmin

    real SCIP_NlpiProblem::fmin

    lower bound on objective value

    Definition at line 118 of file nlpi_filtersqp.c.

    Referenced by handleNlpParam(), and processSolveOutcome().

    ◆ maxtime

    SCIP_Real SCIP_NlpiProblem::maxtime

    time limit

    Definition at line 119 of file nlpi_filtersqp.c.

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

    ◆ x

    real* SCIP_NlpiProblem::x

    variable values, size varssize

    Definition at line 122 of file nlpi_filtersqp.c.

    ◆ c

    real* SCIP_NlpiProblem::c

    constraint value, size conssize

    Definition at line 123 of file nlpi_filtersqp.c.

    ◆ lam

    real* SCIP_NlpiProblem::lam

    duals, size varssize + conssize

    Definition at line 124 of file nlpi_filtersqp.c.

    ◆ bl

    real* SCIP_NlpiProblem::bl

    variable lower bounds and constraint lhs, size varssize + conssize

    Definition at line 125 of file nlpi_filtersqp.c.

    ◆ bu

    real* SCIP_NlpiProblem::bu

    variable upper bounds and constraint rhs, size varssize + conssize

    Definition at line 126 of file nlpi_filtersqp.c.

    ◆ s

    real* SCIP_NlpiProblem::s

    scaling factors, size varssize + conssize

    Definition at line 127 of file nlpi_filtersqp.c.

    ◆ cstype

    char* SCIP_NlpiProblem::cstype

    constraint linearity, size conssize

    Definition at line 128 of file nlpi_filtersqp.c.

    ◆ a

    real* SCIP_NlpiProblem::a

    gradients values, size la[0]-1

    Definition at line 129 of file nlpi_filtersqp.c.

    ◆ la

    fint* SCIP_NlpiProblem::la

    gradients indices, size lasize

    Definition at line 130 of file nlpi_filtersqp.c.

    ◆ lasize

    int SCIP_NlpiProblem::lasize

    length of la array

    Definition at line 131 of file nlpi_filtersqp.c.

    ◆ hessiannz

    fint* SCIP_NlpiProblem::hessiannz

    nonzero information about Hessian, size hessiannzsize

    Definition at line 132 of file nlpi_filtersqp.c.

    Referenced by F77_FUNC().

    ◆ hessiannzsize

    int SCIP_NlpiProblem::hessiannzsize

    length of hessiannz array

    Definition at line 133 of file nlpi_filtersqp.c.

    ◆ ws

    real* SCIP_NlpiProblem::ws

    real workspace, size mxwk

    Definition at line 134 of file nlpi_filtersqp.c.

    ◆ lws

    fint* SCIP_NlpiProblem::lws

    integer workspace, size mxiwk

    Definition at line 135 of file nlpi_filtersqp.c.

    ◆ mxwk

    fint SCIP_NlpiProblem::mxwk

    size of real workspace

    Definition at line 136 of file nlpi_filtersqp.c.

    ◆ mxiwk

    fint SCIP_NlpiProblem::mxiwk

    size of integer workspace

    Definition at line 137 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 138 of file nlpi_filtersqp.c.

    Referenced by F77_FUNC(), and setupStart().

    ◆ evalbufsize

    int SCIP_NlpiProblem::evalbufsize

    size of evaluation buffer

    Definition at line 139 of file nlpi_filtersqp.c.

    Referenced by F77_FUNC().

    ◆ ipopt

    SmartPtr<IpoptApplication> SCIP_NlpiProblem::ipopt

    Ipopt application

    Definition at line 180 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 181 of file nlpi_ipopt.cpp.

    Referenced by SCIP_DECL_NLPIGETPROBLEMPOINTER(), and SCIP_DECL_NLPISOLVE().

    ◆ firstrun [2/2]

    bool SCIP_NlpiProblem::firstrun

    whether the next NLP solve will be the first one

    Definition at line 183 of file nlpi_ipopt.cpp.

    ◆ 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 184 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 188 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 189 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 190 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 191 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 193 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 194 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 195 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 196 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 197 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 198 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 199 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 200 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 84 of file nlpi_worhp.c.

    Referenced by evaluateWorhpRun(), and invalidateSolution().

    ◆ lastsolstat

    SCIP_NLPSOLSTAT SCIP_NlpiProblem::lastsolstat

    solution status from last run

    Definition at line 85 of file nlpi_worhp.c.

    Referenced by evaluateWorhpRun(), and invalidateSolution().

    ◆ lastprimalsize

    int SCIP_NlpiProblem::lastprimalsize

    size of lastprimal array

    Definition at line 93 of file nlpi_worhp.c.

    Referenced by evaluateWorhpRun(), and invalidateSolution().

    ◆ lastdualconssize

    int SCIP_NlpiProblem::lastdualconssize

    size of lastdualcons array

    Definition at line 94 of file nlpi_worhp.c.

    Referenced by evaluateWorhpRun(), and invalidateSolution().

    ◆ lastduallbsize

    int SCIP_NlpiProblem::lastduallbsize

    size of lastduallb array

    Definition at line 95 of file nlpi_worhp.c.

    Referenced by evaluateWorhpRun(), and invalidateSolution().

    ◆ lastdualubsize

    int SCIP_NlpiProblem::lastdualubsize

    size of lastdualub array

    Definition at line 96 of file nlpi_worhp.c.

    Referenced by evaluateWorhpRun(), and invalidateSolution().

    ◆ opt

    OptVar* SCIP_NlpiProblem::opt

    Worhp variables

    Definition at line 102 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 103 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 104 of file nlpi_worhp.c.

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

    ◆ cnt

    Control* SCIP_NlpiProblem::cnt

    Worhp control

    Definition at line 105 of file nlpi_worhp.c.

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