A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://scip.zib.de/doc/html/heur__dualval_8c_source.php below:

SCIP Doxygen Documentation: heur_dualval.c Source File

76#define HEUR_NAME "dualval" 77#define HEUR_DESC "primal heuristic using dual values" 78#define HEUR_DISPCHAR SCIP_HEURDISPCHAR_LNS 79#define HEUR_PRIORITY -10 82#define HEUR_MAXDEPTH -1 83#define HEUR_TIMING SCIP_HEURTIMING_AFTERNODE 84#define HEUR_USESSUBSCIP TRUE 86#define EVENTHDLR_NAME "lpsol_dualval" 87#define EVENTHDLR_DESC "event handler for lp solution found" 91#define DEFAULT_FORCEIMPROVEMENTS FALSE 92#define DEFAULT_ONLYCHEAPER TRUE 93#define DEFAULT_ONLYLEAVES FALSE 94#define DEFAULT_RELAXINDICATORS FALSE 95#define DEFAULT_RELAXCONTVARS FALSE 98#define DEFAULT_HEURVERBLEVEL 0 99#define DEFAULT_NLPVERBLEVEL 0 100#define DEFAULT_RANKVALUE 10 101#define DEFAULT_MAXCALLS 25 102#define DEFAULT_DYNAMICDEPTH 0 103#define DEFAULT_MAXEQUALRANKS 50 106#define DEFAULT_MINGAP 5.0 107#define DEFAULT_LAMBDASLACK 1.0 108#define DEFAULT_LAMBDAOBJ 0.0 143 int

nonimprovingRounds;

171

assert(eventhdlr !=

NULL

);

184

assert(eventhdlr !=

NULL

);

202

assert(eventhdlr !=

NULL

);

203

assert(event !=

NULL

);

212 for

( i = 0; i < nsubconss; i++ )

215 if

( dualval !=

NULL

)

221 for

( i = 0; i < nsubconss; i++ )

226 if

( transcons ==

NULL

)

236 if

( heurdata->heurverblevel > 2 )

256

assert(eventhdlr !=

NULL

);

280

assert(hashmap !=

NULL

);

284 for

( i = 0; i < nentries; ++i )

322

assert(hashmap !=

NULL

);

326 for

( i = 0; i < nentries; ++i )

363

assert(conshdlr !=

NULL

);

371 for

( i = 0; i < nconss; ++i )

389 if

( !addcombconss || !addcontconss )

391

iscombinatorial =

TRUE

;

393 for

( j = 0; j < nvars; ++j )

397

iscombinatorial =

FALSE

;

403 if

( (iscombinatorial && !addcombconss) || (!iscombinatorial && !addcontconss) )

439

assert(conshdlr !=

NULL

);

447 for

( i = 0; i < nconss; ++i )

459 if

( (iscombinatorial && !addcombconss) || (!iscombinatorial && !addcontconss) )

466

2, vars, coefs,

NULL

,

496

assert(conshdlr !=

NULL

);

507 for

( i = 0; i < nconss; ++i )

515 if

( coefssize < nvars )

525 for

( j = coefssize; j < nvars; ++j )

565

assert(conshdlr !=

NULL

);

576 for

( i = 0; i < nconss; ++i )

584 if

( coefssize < nvars )

594 for

( j = coefssize; j < nvars; ++j )

655

assert(conshdlr !=

NULL

);

662

assert(conss !=

NULL

);

667 for

( i = 0; i < nconss; ++i )

677 if

( coefssize < nvars )

691 for

( j = 0; j < nvars; ++j )

722 if

( conshdlr !=

NULL

)

729 if

( conshdlr !=

NULL

)

738 if

( conshdlr !=

NULL

)

745 if

( conshdlr !=

NULL

)

752 if

( conshdlr !=

NULL

)

785

assert( heurdata !=

NULL

);

796 for

( i = 0; i < nvars; ++i )

810 if

( subvar ==

NULL

)

812 SCIPdebugMsg

(

scip

,

"return14 : abort building solution since a variable was not in our list\n"

);

830

assert(subvar !=

NULL

);

831

transval =

SCIPgetSolVal

(heurdata->subscip, subsol, subvar);

835

transval = tscalar * transval + tconstant;

837

val = scalar * transval + constant;

842

val = scalar * val + constant;

902

assert( heurdata !=

NULL

);

903

assert( heurdata->subscip ==

NULL

);

905

heurdata->usedcalls = 0;

906

heurdata->solfound =

FALSE

;

907

heurdata->nonimprovingRounds = 0;

922 for

(i = 0; i < nconss; i++ )

927 if

( currentconshdlr == conshdlrindi ||

928

currentconshdlr == conshdlrnonlin ||

929

currentconshdlr == conshdlrvarbound ||

930

currentconshdlr == conshdlrknapsack ||

931

currentconshdlr == conshdlrlogicor ||

932

currentconshdlr == conshdlrsetppc ||

933

currentconshdlr == conshdlrlin )

945 if

( heurdata->dynamicdepth == 1 )

947

heurdata->maxcalls = (int)

SCIPfloor

(

scip

, sqrt((

double

)(nvars - ncontvars)));

950

heurdata->triedsetupsubscip =

TRUE

;

964 FALSE

,

FALSE

,

FALSE

,

TRUE

,

FALSE

,

TRUE

,

TRUE

,

FALSE

,

TRUE

,

FALSE

,

FALSE

,

TRUE

,

TRUE

,

FALSE

, &success) );

966 if

( success ==

FALSE

)

968 SCIPdebugMsg

(

scip

,

"In heur_dualval: failed to copy some plugins to sub-SCIP, continue anyway\n"

);

999 for

( i = 0; i < nconss; ++i )

1005

assert( subcons !=

NULL

);

1013 if

( !heurdata->subscipisvalid )

1015 SCIPdebugMsg

(

scip

,

"In heur_dualval: failed to copy some constraints to sub-SCIP, continue anyway\n"

);

1019

heurdata->nvars = nvars;

1033 if

( entry !=

NULL

)

1071 for

( i = 0; i < nconsindicator; i++ )

1076

currcons = indicatorconss[i];

1077

assert(currcons !=

NULL

);

1097

heurdata->integervarssize = nvars;

1101 for

( i = 0; i < nvars; ++i )

1104

assert( var !=

NULL

);

1112

heurdata->integervars[j++] = vars[i];

1122 for

( k = 0; k < nconsindicator; k++ )

1129

currcons = indicatorconss[k];

1130

assert(currcons !=

NULL

);

1133

assert(indicatorbinvar !=

NULL

);

1137 if

( indicatorbinvar ==

SCIPhashmapGetImage

(heurdata->varsubsciptoscip, var) || indicatorbinvar == negatedvar )

1142

assert(indicatorbinvar == negatedvar);

1147

assert(indicatorbinvar != negatedvar);

1151

varobjective = heurdata->lambdaobj *

REALABS

(varobjective);

1153

indicons = currcons;

1154

assert( indicons !=

NULL

);

1158

assert( indicons !=

NULL

);

1172 if

( heurdata->relaxindicators )

1187

indicatorbinvar = negatedvar;

1264

assert(imagecons !=

NULL

);

1286 if

( heurdata->relaxindicators )

1289 for

( k = 0; k < nvars; k++ )

1311 for

( k = 0; k < nconsindicator; k++ )

1316

currcons = indicatorconss[k];

1317

assert(currcons !=

NULL

);

1368 if

( heurdata->relaxcontvars )

1370 for

( i = 0; i < nvars; ++i )

1373

assert( var !=

NULL

);

1438 SCIPinfinity

(

scip

),

TRUE

,

TRUE

,

TRUE

,

TRUE

,

TRUE

,

FALSE

,

FALSE

,

FALSE

,

FALSE

,

FALSE

) );

1439

heurdata->objbound = cons;

1441 for

( i = 0; i < nvars; ++i )

1444

assert( var !=

NULL

);

1450 if

( subvar ==

NULL

)

1466 if

( heurdata->heurverblevel > 3 )

1475

heurdata->nintegervars = j;

1489

assert(heurdata !=

NULL

);

1490

assert(heurdata->subscip !=

NULL

);

1492

heurdata->nsubvars = 0;

1493

heurdata->nvars = 0;

1518

assert(heur !=

NULL

);

1519

assert(sol !=

NULL

);

1522

assert(heurdata !=

NULL

);

1536 for

( i = 0; i < nsubvars; ++i )

1538

subvar = subvars[i];

1539

assert(subvar !=

NULL

);

1553#define BIG_VALUE 1E+10 1574 for

( i = 0; i < heurdata->nintegervars; i++ )

1576

var = heurdata->integervars[i];

1577

assert(var !=

NULL

);

1580

assert(var !=

NULL

);

1583 if

( subvar ==

NULL

)

1619 if

( rcons ==

NULL

)

1655 if

( clearswitchedvars )

1658 for

( i = 0; i < heurdata->nintegervars; i++ )

1660

var = heurdata->integervars[i];

1686 if

( transsol !=

NULL

)

1691 if

( beforeswitching )

1700 for

( i = nsubbinvars + nsubintvars - 1; i >= 0; --i )

1702

subvar = subvars[i];

1710

assert(var !=

NULL

);

1744 for

( j = 0; j < heurdata->nintegervars; j++ )

1746

sortedvars[j] = heurdata->integervars[j];

1750 if

( sortedvars[j] ==

NULL

)

1754

assert(var !=

NULL

);

1765

assert(var !=

NULL

);

1769 if

( relaxcons !=

NULL

)

1774 if

( dualvalue ==

NULL

)

1777 if

( dualvalue ==

NULL

)

1780

assert(dualvalue !=

NULL

);

1781

ranks[j] = (*dualvalue);

1785

assert(ranks[j] == 0.0);

1793 if

( dualvalue ==

NULL

)

1796

assert(dualvalue !=

NULL

);

1798

ranks[j] = (*dualvalue);

1802 for

( k = 0; k < nconsindicator; k++ )

1808

currcons = indicatorconss[k];

1809

assert(currcons !=

NULL

);

1812

assert(indicatorbinvar !=

NULL

);

1817

indicons = currcons;

1818

assert(indicons !=

NULL

);

1821

assert(subcons !=

NULL

);

1824

assert(subcons !=

NULL

);

1828 if

( dualvalue ==

NULL

)

1831

assert(dualvalue !=

NULL

);

1834

ranks[j] = (*dualvalue);

1841

absranks[j] =

REALABS

(ranks[j]);

1870

maxslackset =

FALSE

;

1875 for

( i = 0; i < nsubvars; i++ )

1878 if

( subvar ==

NULL

)

1884 if

( heurdata->isnlp )

1890

maxslackset =

TRUE

;

1895

assert(bestsol !=

NULL

);

1896 if

( maxslack <

SCIPgetSolVal

(heurdata->subscip, bestsol, subvar) )

1898

maxslack =

SCIPgetSolVal

(heurdata->subscip, bestsol, subvar);

1900

maxslackset =

TRUE

;

1906 if

( ! maxslackset )

1912

assert(maxslack >= 0);

1914 if

( heurdata->heurverblevel > 0 && maxslackset )

1940

assert(heurdata !=

NULL

);

1947

heurdata->solfound =

TRUE

;

1950

assert( heurdata->isnlp );

1961 if

( heurdata->heurverblevel > 1 )

1976 if

( heurdata->heurverblevel > 0 )

1988 if

( stored && heurdata->heurverblevel > 1 )

1991 if

( heurdata->isnlp )

1999

heurdata->solfound =

TRUE

;

2001 if

( heurdata->heurverblevel >= 1 )

2009

heurdata->prevInfeasible =

FALSE

;

2010

heurdata->solfound =

TRUE

;

2013 if

( heurdata->heurverblevel >= 1 )

2060

assert(heur !=

NULL

);

2068

assert(heurdata !=

NULL

);

2082 if

( heurdata->subscip ==

NULL

&& !heurdata->triedsetupsubscip )

2088 if

( heurdata->solfound )

2097 if

( heurdata->subscip ==

NULL

)

2103

assert(heurdata->nsubvars > 0);

2104

assert(heurdata->varsubsciptoscip !=

NULL

);

2126

heurdata->prevInfeasible =

TRUE

;

2136

retcode =

SCIPsolve

(heurdata->subscip);

2137

heurdata->isnlp =

TRUE

;

2154

heurdata->isnlp =

FALSE

;

2158 if

( heurdata->isnlp )

2175 if

( subvar ==

NULL

)

2177

startpoint[i] = constant;

2198 SCIP_CALL

(

SCIPsolveNLP

(heurdata->subscip, .verblevel = (

unsigned short

)heurdata->nlpverblevel) );

2205 SCIP_CALL

(

SCIPsolveNLP

(heurdata->subscip, .verblevel = (

unsigned short

)heurdata->nlpverblevel) );

2213 for

( i = 0; i < nsubconss; i++ )

2221 for

( i = 0; i < nsubconss; i++ )

2227 if

( transcons ==

NULL

)

2267

assert(bestsol !=

NULL

);

2270 for

( i = 0; i < nsubvars; i++ )

2279 if

( heurdata->forceimprovements )

2283

heurdata->nonimprovingRounds++;

2284 SCIPdebugMsg

(

scip

,

"nonimpr rounds %d prevobj %f \n"

, heurdata->nonimprovingRounds, heurdata->prevobjective);

2287 if

( heurdata->nonimprovingRounds > heurdata->maxcalls/8 )

2291 if

( heurdata->isnlp )

2298

heurdata->solfound =

TRUE

;

2299

heurdata->switchdifferent =

TRUE

;

2308

heurdata->prevobjective =

SCIPgetSolOrigObj

(heurdata->subscip, bestsol) - objvalue;

2322 if

( heurdata->heurverblevel > 1 )

2324

k = heurdata->rankvalue;

2326 if

( heurdata->nintegervars < heurdata->rankvalue )

2327

k = heurdata->nintegervars;

2329 for

( i = 0; i < k; i++ )

2336 if

( heurdata->isnlp )

2340

maxequalranks =

MIN

(heurdata->maxequalranks, heurdata->nintegervars/3);

2356 for

( k = 0; k < heurdata->nintegervars; ++k )

2358

var = heurdata->integervars[k];

2366 if

( rcons !=

NULL

)

2369

assert(var !=

NULL

);

2370

assert(subvar !=

NULL

);

2380 for

( i = 0; i < heurdata->nintegervars; i++ )

2395 if

( heurdata->heurverblevel > 1 )

2442 if

( seclastval !=

NULL

)

2450 if

( heurdata->heurverblevel > 1 )

2457 if

( heurdata->usedcalls >= heurdata->maxcalls )

2466

heurdata->usedcalls++;

2468 if

( heurdata->heurverblevel > 1 )

2475 if

( *result ==

SCIP_DIDNOTFIND

|| heurdata->solfound || heurdata->prevInfeasible )

2481 if

( heurdata->switchdifferent )

2483

heurdata->switchdifferent =

FALSE

;

2484

heurdata->solfound =

FALSE

;

2486

heurdata->nonimprovingRounds -= 2;

2489 if

( heurdata->prevInfeasible )

2491

heurdata->prevInfeasible =

FALSE

;

2492

heurdata->solfound =

FALSE

;

2494

heurdata->nonimprovingRounds++;

2502 if

( heurdata->subscip ==

NULL

)

2530

assert(heur !=

NULL

);

2546

assert(heur !=

NULL

);

2563

assert(heur !=

NULL

);

2572

assert(heurdata !=

NULL

);

2573

assert(heurdata->subscip ==

NULL

);

2574

assert(!heurdata->triedsetupsubscip);

2580 if

( heurdata->subscip ==

NULL

)

2603

assert(heur !=

NULL

);

2606

assert(heurdata !=

NULL

);

2610 if

( heurdata->subscip !=

NULL

)

2616 for

( i = 0; i < nsubconss; i++ )

2624 if

( heurdata->varsciptosubscip !=

NULL

)

2630 if

( heurdata->origsubscipConsMap !=

NULL

)

2636 if

( heurdata->relaxcons !=

NULL

)

2642 if

( heurdata->conss2nlrow !=

NULL

)

2648 if

( heurdata->slack2var !=

NULL

)

2654 if

( heurdata->indicopymap !=

NULL

)

2660 if

( heurdata->indicopymapback !=

NULL

)

2666 if

( heurdata->relaxconsindi !=

NULL

)

2672 if

( heurdata->slackvarlbMap !=

NULL

)

2678 if

( heurdata->slackvarubMap !=

NULL

)

2685 if

( heurdata->subscip !=

NULL

)

2691 if

( heurdata->varsubsciptoscip !=

NULL

)

2697 if

( heurdata->slacktoindivarsmap !=

NULL

)

2703 if

( heurdata->indicators !=

NULL

)

2709 if

( heurdata->switchedvars !=

NULL

)

2713 if

( heurdata->switchedvars2 !=

NULL

)

2719

heurdata->triedsetupsubscip =

FALSE

;

2720

heurdata->usedcalls = 0;

2721

heurdata->solfound =

FALSE

;

2722

heurdata->prevInfeasible =

FALSE

;

2724

assert(heurdata->subscip ==

NULL

);

2725

assert(heurdata->varsubsciptoscip ==

NULL

);

2726

assert(heurdata->varsciptosubscip ==

NULL

);

2738

assert(heur !=

NULL

);

2745

assert(heurdata !=

NULL

);

2748 if

( heurdata->subscip ==

NULL

)

2764

assert(heur !=

NULL

);

2779

assert(heur !=

NULL

);

2780

assert(result !=

NULL

);

2784

assert(heurdata !=

NULL

);

2790

heurdata->usedcalls = 0;

2791

heurdata->prevInfeasible =

FALSE

;

2792

heurdata->solfound =

FALSE

;

2793

heurdata->nonimprovingRounds = 0;

2794

heurdata->prevobjective = INT_MAX;

2832

assert(heur !=

NULL

);

2843 "exit if objective doesn't improve"

,

2847 "add constraint to ensure that discrete vars are improving"

,

2851 "disable the heuristic if it was not called at a leaf of the B&B tree"

,

2855 "relax the indicator variables by introducing continuous copies"

,

2859 "relax the continous variables"

,

2863 "verblevel of the heuristic, default is 0 to display nothing"

,

2867 "verblevel of the nlp solver, can be 0 or 1"

,

2871 "number of ranks that should be displayed when the heuristic is called"

,

2875 "maximal number of recursive calls of the heuristic (if dynamicdepth is off)"

,

2879 "says if and how the recursion depth is computed at runtime"

,

2883 "maximal number of variables that may have maximal rank, quit if there are more, turn off by setting -1"

,

2887 "minimal gap for which we still run the heuristic, if gap is less we return without doing anything"

,

2891 "value added to objective of slack variables, must not be zero"

,

2895 "scaling factor for the objective function"

,

constraint handler for indicator constraints

Constraint handler for knapsack constraints of the form , x binary and .

Constraint handler for linear constraints in their most general form, .

Constraint handler for logicor constraints (equivalent to set covering, but algorithms are suited fo...

Constraint handler for the set partitioning / packing / covering constraints .

Constraint handler for variable bound constraints .

SCIP_RETCODE SCIPcreateConsIndicatorLinCons(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_VAR *binvar, SCIP_CONS *lincons, SCIP_VAR *slackvar, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)

SCIP_Real SCIPgetDualsolLinear(SCIP *scip, SCIP_CONS *cons)

int SCIPgetNVarsKnapsack(SCIP *scip, SCIP_CONS *cons)

SCIP_Real SCIPgetVbdcoefVarbound(SCIP *scip, SCIP_CONS *cons)

int SCIPgetNVarsLogicor(SCIP *scip, SCIP_CONS *cons)

SCIP_Real SCIPgetRhsLinear(SCIP *scip, SCIP_CONS *cons)

SCIP_VAR ** SCIPgetVarsLinear(SCIP *scip, SCIP_CONS *cons)

SCIP_RETCODE SCIPchgRhsLinear(SCIP *scip, SCIP_CONS *cons, SCIP_Real rhs)

SCIP_RETCODE SCIPaddCoefLinear(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_Real val)

SCIP_Real SCIPgetLhsLinear(SCIP *scip, SCIP_CONS *cons)

int SCIPgetNVarsLinear(SCIP *scip, SCIP_CONS *cons)

SCIP_Real * SCIPgetValsLinear(SCIP *scip, SCIP_CONS *cons)

SCIP_VAR * SCIPgetVbdvarVarbound(SCIP *scip, SCIP_CONS *cons)

int SCIPgetNVarsSetppc(SCIP *scip, SCIP_CONS *cons)

SCIP_VAR ** SCIPgetVarsSetppc(SCIP *scip, SCIP_CONS *cons)

SCIP_VAR * SCIPgetBinaryVarIndicator(SCIP_CONS *cons)

SCIP_VAR * SCIPgetVarVarbound(SCIP *scip, SCIP_CONS *cons)

SCIP_Longint * SCIPgetWeightsKnapsack(SCIP *scip, SCIP_CONS *cons)

SCIP_VAR * SCIPgetSlackVarIndicator(SCIP_CONS *cons)

SCIP_Longint SCIPgetCapacityKnapsack(SCIP *scip, SCIP_CONS *cons)

SCIP_Real SCIPgetLhsVarbound(SCIP *scip, SCIP_CONS *cons)

SCIP_SETPPCTYPE SCIPgetTypeSetppc(SCIP *scip, SCIP_CONS *cons)

SCIP_CONS * SCIPgetLinearConsIndicator(SCIP_CONS *cons)

SCIP_RETCODE SCIPcreateConsLinear(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_Real *vals, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)

SCIP_VAR ** SCIPgetVarsLogicor(SCIP *scip, SCIP_CONS *cons)

SCIP_Real SCIPgetRhsVarbound(SCIP *scip, SCIP_CONS *cons)

SCIP_VAR ** SCIPgetVarsKnapsack(SCIP *scip, SCIP_CONS *cons)

SCIP_RETCODE SCIPchgLhsLinear(SCIP *scip, SCIP_CONS *cons, SCIP_Real lhs)

@ SCIP_SETPPCTYPE_PARTITIONING

@ SCIP_SETPPCTYPE_COVERING

@ SCIP_SETPPCTYPE_PACKING

SCIP_RETCODE SCIPcopyVars(SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_VAR **fixedvars, SCIP_Real *fixedvals, int nfixedvars, SCIP_Bool global)

SCIP_RETCODE SCIPcopyPlugins(SCIP *sourcescip, SCIP *targetscip, SCIP_Bool copyreaders, SCIP_Bool copypricers, SCIP_Bool copyconshdlrs, SCIP_Bool copyconflicthdlrs, SCIP_Bool copypresolvers, SCIP_Bool copyrelaxators, SCIP_Bool copyseparators, SCIP_Bool copycutselectors, SCIP_Bool copypropagators, SCIP_Bool copyheuristics, SCIP_Bool copyeventhdlrs, SCIP_Bool copynodeselectors, SCIP_Bool copybranchrules, SCIP_Bool copydisplays, SCIP_Bool copydialogs, SCIP_Bool copytables, SCIP_Bool copyexprhdlrs, SCIP_Bool copynlpis, SCIP_Bool passmessagehdlr, SCIP_Bool *valid)

SCIP_RETCODE SCIPcopyConss(SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, SCIP_Bool global, SCIP_Bool enablepricing, SCIP_Bool *valid)

SCIP_RETCODE SCIPcopyParamSettings(SCIP *sourcescip, SCIP *targetscip)

SCIP_Bool SCIPisTransformed(SCIP *scip)

SCIP_RETCODE SCIPfree(SCIP **scip)

SCIP_RETCODE SCIPcreate(SCIP **scip)

SCIP_STATUS SCIPgetStatus(SCIP *scip)

SCIP_STAGE SCIPgetStage(SCIP *scip)

SCIP_RETCODE SCIPaddVar(SCIP *scip, SCIP_VAR *var)

SCIP_RETCODE SCIPgetOrigVarsData(SCIP *scip, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars)

const char * SCIPgetProbName(SCIP *scip)

SCIP_RETCODE SCIPgetVarsData(SCIP *scip, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars)

int SCIPgetNOrigConss(SCIP *scip)

SCIP_VAR ** SCIPgetOrigVars(SCIP *scip)

SCIP_RETCODE SCIPaddCons(SCIP *scip, SCIP_CONS *cons)

SCIP_RETCODE SCIPdelCons(SCIP *scip, SCIP_CONS *cons)

int SCIPgetNConss(SCIP *scip)

int SCIPgetNOrigVars(SCIP *scip)

SCIP_CONS ** SCIPgetOrigConss(SCIP *scip)

SCIP_RETCODE SCIPcreateProb(SCIP *scip, const char *name, SCIP_DECL_PROBDELORIG((*probdelorig)), SCIP_DECL_PROBTRANS((*probtrans)), SCIP_DECL_PROBDELTRANS((*probdeltrans)), SCIP_DECL_PROBINITSOL((*probinitsol)), SCIP_DECL_PROBEXITSOL((*probexitsol)), SCIP_DECL_PROBCOPY((*probcopy)), SCIP_PROBDATA *probdata)

void SCIPhashmapFree(SCIP_HASHMAP **hashmap)

void * SCIPhashmapEntryGetImage(SCIP_HASHMAPENTRY *entry)

void * SCIPhashmapGetImage(SCIP_HASHMAP *hashmap, void *origin)

SCIP_RETCODE SCIPhashmapInsert(SCIP_HASHMAP *hashmap, void *origin, void *image)

int SCIPhashmapGetNEntries(SCIP_HASHMAP *hashmap)

SCIP_HASHMAPENTRY * SCIPhashmapGetEntry(SCIP_HASHMAP *hashmap, int entryidx)

SCIP_RETCODE SCIPhashmapCreate(SCIP_HASHMAP **hashmap, BMS_BLKMEM *blkmem, int mapsize)

void * SCIPhashmapEntryGetOrigin(SCIP_HASHMAPENTRY *entry)

SCIP_RETCODE SCIPhashmapRemoveAll(SCIP_HASHMAP *hashmap)

SCIP_RETCODE SCIPhashmapRemove(SCIP_HASHMAP *hashmap, void *origin)

void SCIPverbMessage(SCIP *scip, SCIP_VERBLEVEL msgverblevel, FILE *file, const char *formatstr,...)

SCIP_RETCODE SCIPapplyHeurDualval(SCIP *scip, SCIP_HEUR *heur, SCIP_RESULT *result, SCIP_SOL *refpoint)

SCIP_RETCODE SCIPaddIntParam(SCIP *scip, const char *name, const char *desc, int *valueptr, SCIP_Bool isadvanced, int defaultvalue, int minvalue, int maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)

SCIP_RETCODE SCIPsetLongintParam(SCIP *scip, const char *name, SCIP_Longint value)

SCIP_RETCODE SCIPaddRealParam(SCIP *scip, const char *name, const char *desc, SCIP_Real *valueptr, SCIP_Bool isadvanced, SCIP_Real defaultvalue, SCIP_Real minvalue, SCIP_Real maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)

SCIP_RETCODE SCIPsetIntParam(SCIP *scip, const char *name, int value)

SCIP_RETCODE SCIPaddBoolParam(SCIP *scip, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)

SCIP_RETCODE SCIPsetRealParam(SCIP *scip, const char *name, SCIP_Real value)

SCIP_RETCODE SCIPincludeHeurDualval(SCIP *scip)

int SCIPgetNLPBranchCands(SCIP *scip)

int SCIPgetNPseudoBranchCands(SCIP *scip)

int SCIPconshdlrGetNConss(SCIP_CONSHDLR *conshdlr)

SCIP_CONSHDLR * SCIPfindConshdlr(SCIP *scip, const char *name)

int SCIPconshdlrGetNActiveConss(SCIP_CONSHDLR *conshdlr)

SCIP_CONS ** SCIPconshdlrGetConss(SCIP_CONSHDLR *conshdlr)

void SCIPconsAddUpgradeLocks(SCIP_CONS *cons, int nlocks)

SCIP_Bool SCIPconsIsDynamic(SCIP_CONS *cons)

SCIP_CONSHDLR * SCIPconsGetHdlr(SCIP_CONS *cons)

SCIP_Bool SCIPconsIsInitial(SCIP_CONS *cons)

SCIP_Bool SCIPconsIsChecked(SCIP_CONS *cons)

SCIP_Bool SCIPconsIsEnforced(SCIP_CONS *cons)

SCIP_Bool SCIPconsIsPropagated(SCIP_CONS *cons)

SCIP_Bool SCIPconsIsLocal(SCIP_CONS *cons)

SCIP_Bool SCIPconsIsEnabled(SCIP_CONS *cons)

const char * SCIPconsGetName(SCIP_CONS *cons)

SCIP_RETCODE SCIPgetTransformedCons(SCIP *scip, SCIP_CONS *cons, SCIP_CONS **transcons)

SCIP_Bool SCIPconsIsStickingAtNode(SCIP_CONS *cons)

SCIP_RETCODE SCIPreleaseCons(SCIP *scip, SCIP_CONS **cons)

SCIP_Bool SCIPconsIsSeparated(SCIP_CONS *cons)

SCIP_RETCODE SCIPcaptureCons(SCIP *scip, SCIP_CONS *cons)

SCIP_Bool SCIPconsIsRemovable(SCIP_CONS *cons)

SCIP_RETCODE SCIPincludeEventhdlrBasic(SCIP *scip, SCIP_EVENTHDLR **eventhdlrptr, const char *name, const char *desc, SCIP_DECL_EVENTEXEC((*eventexec)), SCIP_EVENTHDLRDATA *eventhdlrdata)

SCIP_EVENTHDLRDATA * SCIPeventhdlrGetData(SCIP_EVENTHDLR *eventhdlr)

SCIP_RETCODE SCIPsetEventhdlrExit(SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTEXIT((*eventexit)))

SCIP_RETCODE SCIPsetEventhdlrInit(SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTINIT((*eventinit)))

SCIP_RETCODE SCIPcatchEvent(SCIP *scip, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int *filterpos)

SCIP_RETCODE SCIPdropEvent(SCIP *scip, SCIP_EVENTTYPE eventtype, SCIP_EVENTHDLR *eventhdlr, SCIP_EVENTDATA *eventdata, int filterpos)

SCIP_RETCODE SCIPsetHeurExitsol(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEUREXITSOL((*heurexitsol)))

SCIP_RETCODE SCIPsetHeurCopy(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURCOPY((*heurcopy)))

SCIP_HEURDATA * SCIPheurGetData(SCIP_HEUR *heur)

SCIP_RETCODE SCIPincludeHeurBasic(SCIP *scip, SCIP_HEUR **heur, const char *name, const char *desc, char dispchar, int priority, int freq, int freqofs, int maxdepth, SCIP_HEURTIMING timingmask, SCIP_Bool usessubscip, SCIP_DECL_HEUREXEC((*heurexec)), SCIP_HEURDATA *heurdata)

SCIP_RETCODE SCIPsetHeurFree(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURFREE((*heurfree)))

SCIP_RETCODE SCIPsetHeurExit(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEUREXIT((*heurexit)))

void SCIPheurSetFreq(SCIP_HEUR *heur, int freq)

void SCIPheurSetTimingmask(SCIP_HEUR *heur, SCIP_HEURTIMING timingmask)

SCIP_RETCODE SCIPsetHeurInitsol(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURINITSOL((*heurinitsol)))

int SCIPheurGetFreqofs(SCIP_HEUR *heur)

SCIP_RETCODE SCIPsetHeurInit(SCIP *scip, SCIP_HEUR *heur, SCIP_DECL_HEURINIT((*heurinit)))

int SCIPheurGetFreq(SCIP_HEUR *heur)

const char * SCIPheurGetName(SCIP_HEUR *heur)

SCIP_LPSOLSTAT SCIPgetLPSolstat(SCIP *scip)

#define SCIPfreeBlockMemoryArray(scip, ptr, num)

#define SCIPallocBufferArray(scip, ptr, num)

#define SCIPreallocBufferArray(scip, ptr, num)

#define SCIPfreeBufferArray(scip, ptr)

#define SCIPallocBlockMemoryArray(scip, ptr, num)

#define SCIPfreeBlockMemory(scip, ptr)

#define SCIPfreeBlockMemoryArrayNull(scip, ptr, num)

#define SCIPfreeBufferArrayNull(scip, ptr)

#define SCIPallocBlockMemory(scip, ptr)

int SCIPgetNNlpis(SCIP *scip)

SCIP_RETCODE SCIPaddNlRow(SCIP *scip, SCIP_NLROW *nlrow)

SCIP_Bool SCIPisNLPConstructed(SCIP *scip)

SCIP_NLPSOLSTAT SCIPgetNLPSolstat(SCIP *scip)

#define SCIPsolveNLP(...)

SCIP_RETCODE SCIPsetNLPInitialGuess(SCIP *scip, SCIP_Real *initialguess)

int SCIPgetNNLPVars(SCIP *scip)

SCIP_VAR ** SCIPgetNLPVars(SCIP *scip)

SCIP_RETCODE SCIPreleaseNlRow(SCIP *scip, SCIP_NLROW **nlrow)

SCIP_Real SCIPnlrowGetDualsol(SCIP_NLROW *nlrow)

SCIP_RETCODE SCIPcreateNlRow(SCIP *scip, SCIP_NLROW **nlrow, const char *name, SCIP_Real constant, int nlinvars, SCIP_VAR **linvars, SCIP_Real *lincoefs, SCIP_EXPR *expr, SCIP_Real lhs, SCIP_Real rhs, SCIP_EXPRCURV curvature)

SCIP_SOL * SCIPgetBestSol(SCIP *scip)

SCIP_RETCODE SCIPcreateSol(SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)

SCIP_Real SCIPsolGetOrigObj(SCIP_SOL *sol)

SCIP_RETCODE SCIPfreeSol(SCIP *scip, SCIP_SOL **sol)

SCIP_RETCODE SCIPcreateOrigSol(SCIP *scip, SCIP_SOL **sol, SCIP_HEUR *heur)

SCIP_RETCODE SCIPtrySolFree(SCIP *scip, SCIP_SOL **sol, SCIP_Bool printreason, SCIP_Bool completely, SCIP_Bool checkbounds, SCIP_Bool checkintegrality, SCIP_Bool checklprows, SCIP_Bool *stored)

SCIP_Real SCIPgetSolOrigObj(SCIP *scip, SCIP_SOL *sol)

SCIP_RETCODE SCIPsetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var, SCIP_Real val)

SCIP_Real SCIPgetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var)

SCIP_RETCODE SCIPpresolve(SCIP *scip)

SCIP_RETCODE SCIPfreeTransform(SCIP *scip)

SCIP_RETCODE SCIPsolve(SCIP *scip)

SCIP_Real SCIPgetUpperbound(SCIP *scip)

SCIP_Real SCIPgetGap(SCIP *scip)

SCIP_Bool SCIPisRelLE(SCIP *scip, SCIP_Real val1, SCIP_Real val2)

SCIP_Real SCIPinfinity(SCIP *scip)

SCIP_Bool SCIPisGE(SCIP *scip, SCIP_Real val1, SCIP_Real val2)

SCIP_Bool SCIPisFeasEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)

SCIP_Real SCIPfloor(SCIP *scip, SCIP_Real val)

SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)

SCIP_Bool SCIPisFeasLE(SCIP *scip, SCIP_Real val1, SCIP_Real val2)

SCIP_Bool SCIPisEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)

SCIP_RETCODE SCIPvarGetOrigvarSum(SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant)

SCIP_VAR * SCIPvarGetNegatedVar(SCIP_VAR *var)

SCIP_Bool SCIPvarIsActive(SCIP_VAR *var)

SCIP_Bool SCIPvarIsBinary(SCIP_VAR *var)

SCIP_Real SCIPvarGetObj(SCIP_VAR *var)

SCIP_VARTYPE SCIPvarGetType(SCIP_VAR *var)

SCIP_RETCODE SCIPgetProbvarSum(SCIP *scip, SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant)

SCIP_Real SCIPvarGetUbGlobal(SCIP_VAR *var)

int SCIPvarGetProbindex(SCIP_VAR *var)

const char * SCIPvarGetName(SCIP_VAR *var)

SCIP_RETCODE SCIPreleaseVar(SCIP *scip, SCIP_VAR **var)

SCIP_RETCODE SCIPchgVarLbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)

SCIP_Bool SCIPvarIsIntegral(SCIP_VAR *var)

SCIP_RETCODE SCIPchgVarType(SCIP *scip, SCIP_VAR *var, SCIP_VARTYPE vartype, SCIP_Bool *infeasible)

SCIP_RETCODE SCIPgetNegatedVar(SCIP *scip, SCIP_VAR *var, SCIP_VAR **negvar)

SCIP_Bool SCIPvarIsNegated(SCIP_VAR *var)

SCIP_RETCODE SCIPchgVarUbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)

SCIP_RETCODE SCIPcreateVar(SCIP *scip, SCIP_VAR **var, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_DECL_VARCOPY((*varcopy)), SCIP_VARDATA *vardata)

SCIP_Real SCIPvarGetLbGlobal(SCIP_VAR *var)

SCIP_VAR * SCIPvarGetTransVar(SCIP_VAR *var)

SCIP_RETCODE SCIPchgVarObj(SCIP *scip, SCIP_VAR *var, SCIP_Real newobj)

SCIP_Real SCIPvarGetNLPSol(SCIP_VAR *var)

SCIP_RETCODE SCIPcaptureVar(SCIP *scip, SCIP_VAR *var)

void SCIPsortDownRealRealPtr(SCIP_Real *realarray1, SCIP_Real *realarray2, void **ptrarray, int len)

int SCIPsnprintf(char *t, int len, const char *s,...)

static SCIP_DECL_EVENTEXEC(eventExecLPsol)

#define DEFAULT_RANKVALUE

#define DEFAULT_ONLYCHEAPER

static SCIP_RETCODE createSolFromSubScipSol(SCIP *scip, SCIP_HEUR *heur, SCIP_SOL **sol, SCIP_SOL *subsol)

static SCIP_RETCODE addSetppcConstraints(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_HEURDATA *heurdata)

static SCIP_DECL_HEUREXIT(heurExitDualval)

#define DEFAULT_LAMBDAOBJ

#define DEFAULT_HEURVERBLEVEL

static SCIP_RETCODE addLogicOrConstraints(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_HEURDATA *heurdata)

static SCIP_RETCODE createSolFromNLP(SCIP *scip, SCIP_HEUR *heur, SCIP_SOL **sol)

static SCIP_RETCODE computeRanks(SCIP *scip, SCIP_HEURDATA *heurdata, SCIP_Real *absranks, SCIP_Real *ranks, SCIP_VAR **sortedvars)

static SCIP_RETCODE freeMemory(SCIP *scip, SCIP_HEURDATA *heurdata, SCIP_SOL *transsol, SCIP_Real *absranks, SCIP_Real *ranks, SCIP_VAR **sortedvars, SCIP_Bool beforeswitching, SCIP_Bool clearswitchedvars)

#define DEFAULT_RELAXINDICATORS

static SCIP_DECL_HEUREXEC(heurExecDualval)

static SCIP_RETCODE releaseHashmapNLPRows(SCIP *scip, SCIP_HASHMAP *hashmap)

static SCIP_RETCODE addLinearConstraints(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_Bool addcombconss, SCIP_Bool addcontconss, SCIP_HEURDATA *heurdata)

#define DEFAULT_FORCEIMPROVEMENTS

static SCIP_RETCODE storeSolution(SCIP *scip, SCIP_HEUR *heur, SCIP_RESULT *result, SCIP_SOL *transsol, SCIP_SOL *bestsol)

#define DEFAULT_LAMBDASLACK

static SCIP_DECL_EVENTEXIT(eventExitLPsol)

static SCIP_DECL_HEURINIT(heurInitDualval)

#define DEFAULT_RELAXCONTVARS

static SCIP_DECL_HEURCOPY(heurCopyDualval)

static SCIP_Real maximalslack(SCIP *scip, SCIP_HEURDATA *heurdata)

static SCIP_RETCODE SCIPincludeEventHdlrLPsol(SCIP *scip, SCIP_HEURDATA *heurdata)

static SCIP_RETCODE createSubSCIP(SCIP *scip, SCIP_HEURDATA *heurdata)

static SCIP_DECL_HEUREXITSOL(heurExitsolDualval)

static SCIP_DECL_HEURFREE(heurFreeDualval)

static SCIP_RETCODE fixDiscreteVars(SCIP *scip, SCIP_HEURDATA *heurdata, SCIP_SOL *refpoint, SCIP_SOL **transsol)

static SCIP_RETCODE addKnapsackConstraints(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_HEURDATA *heurdata)

#define DEFAULT_DYNAMICDEPTH

static SCIP_DECL_HEURINITSOL(heurInitsolDualval)

#define DEFAULT_ONLYLEAVES

static SCIP_RETCODE freeSubSCIP(SCIP *scip, SCIP_HEURDATA *heurdata)

#define DEFAULT_NLPVERBLEVEL

static SCIP_RETCODE releaseHashmapEntries(SCIP *scip, SCIP_HASHMAP *hashmap, SCIP_Bool isvarmap)

#define DEFAULT_MAXEQUALRANKS

static SCIP_RETCODE addVarboundConstraints(SCIP *scip, SCIP_CONSHDLR *conshdlr, SCIP_Bool addcombconss, SCIP_Bool addcontconss, SCIP_HEURDATA *heurdata)

static SCIP_RETCODE addLinearConstraintsToNlp(SCIP *scip, SCIP_Bool addcombconss, SCIP_Bool addcontconss, SCIP_HEURDATA *heurdata)

static SCIP_DECL_EVENTINIT(eventInitLPsol)

primal heuristic that uses dualvalues for successive switching variable values

memory allocation routines

#define BMSclearMemory(ptr)

#define BMSclearMemoryArray(ptr, num)

BMS_BLKMEM * SCIPblkmem(SCIP *scip)

public methods for managing constraints

public methods for managing events

public methods for primal heuristics

public methods for message output

public data structures and miscellaneous methods

methods for sorting joint arrays of various types

public methods for NLP management

public methods for primal CIP solutions

public methods for problem variables

public methods for branching rule plugins and branching

public methods for constraint handler plugins and constraints

public methods for problem copies

public methods for event handler plugins and event handlers

public methods for primal heuristic plugins and divesets

public methods for the LP relaxation, rows and columns

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 SCIP parameter handling

public methods for global and local (sub)problems

public methods for solutions

public methods for querying solving statistics

public methods for SCIP variables

#define SCIP_EVENTTYPE_FIRSTLPSOLVED

struct SCIP_EventhdlrData SCIP_EVENTHDLRDATA

#define SCIP_EVENTTYPE_LPSOLVED

type and macro definitions related to algebraic expressions

struct SCIP_HeurData SCIP_HEURDATA

@ SCIP_NLPSOLSTAT_FEASIBLE

enum SCIP_Result SCIP_RESULT

enum SCIP_Retcode SCIP_RETCODE

#define SCIP_HEURTIMING_DURINGLPLOOP

@ SCIP_VARTYPE_CONTINUOUS


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4