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_8c_source.php below:

SCIP Doxygen Documentation: heur.c Source File

56

assert(heur1 !=

NULL

);

57

assert(heur2 !=

NULL

);

63 return

(strcmp(heur1->

name

, heur2->

name

));

96

assert(paramdata !=

NULL

);

110

assert(divesetstats !=

NULL

);

121

divesetstats->

nlps

= 0;

125

divesetstats->

ncalls

= 0;

137

assert(diveset !=

NULL

);

141 for

( d = 0; d < 4; ++d )

193

assert(diveset !=

NULL

);

219

assert(diveset !=

NULL

);

224 for

( c = 0; c < 2; ++c )

227

nbacktracks, nsolsfound, nbestsolsfound, nconflictsfound, leavesol);

241

assert(heur !=

NULL

);

242

assert(diveset !=

NULL

);

245

diveset->

heur

= heur;

285 unsigned int

initialseed,

297 const char

* divesetname;

300

assert(divesetptr !=

NULL

);

302

assert(divesetgetscore !=

NULL

);

303

assert(heur !=

NULL

);

304

assert(blkmem !=

NULL

);

307

diveset = *divesetptr;

323

diveset->divesetgetscore = divesetgetscore;

324

diveset->divesetavailable = divesetavailable;

332 for

( c = 0; c < 4; ++c )

343 paramname

,

"minimal relative depth to start diving"

,

348 "maximal relative depth to start diving"

,

354 "maximal fraction of diving LP iterations compared to node LP iterations"

,

360 "additional number of allowed LP iterations"

,

366 "maximal quotient (curlowerbound - lowerbound)/(cutoffbound - lowerbound) where diving is performed (0.0: no limit)"

,

372 "maximal quotient (curlowerbound - lowerbound)/(avglowerbound - lowerbound) where diving is performed (0.0: no limit)"

,

378 "maximal UBQUOT when no solution was found yet (0.0: no limit)"

,

384 "maximal AVGQUOT when no solution was found yet (0.0: no limit)"

,

390 "use one level of backtracking if infeasibility is encountered?"

,

395 "percentage of immediate domain changes during probing to trigger LP resolve"

,

401 "LP solve frequency for diving heuristics (0: only after enough domain changes have been found)"

,

408 "should only LP branching candidates be considered instead of the slower but " 409 "more general constraint handler diving variable selection?"

,

420 return

diveset->

heur

;

428

assert(diveset !=

NULL

);

430 return

diveset->

sol

;

439

assert(diveset !=

NULL

);

449

assert(diveset !=

NULL

);

451 return

diveset->

name

;

479

assert(divesetstats !=

NULL

);

492

assert(divesetstats !=

NULL

);

494 return

divesetstats->

ncalls

;

505

assert(diveset !=

NULL

);

518

assert(divesetstats !=

NULL

);

531

assert(divesetstats !=

NULL

);

544

assert(divesetstats !=

NULL

);

557

assert(divesetstats !=

NULL

);

570

assert(divesetstats !=

NULL

);

583

assert(divesetstats !=

NULL

);

596

assert(divesetstats !=

NULL

);

609

assert(divesetstats !=

NULL

);

622

assert(divesetstats !=

NULL

);

635

assert(divesetstats !=

NULL

);

648

assert(divesetstats !=

NULL

);

714

assert(diveset !=

NULL

);

724

assert(diveset !=

NULL

);

735

assert(diveset !=

NULL

);

747

assert(diveset !=

NULL

);

758

assert(diveset !=

NULL

);

768

assert(diveset !=

NULL

);

780

assert(divesetstats !=

NULL

);

783

divesetstats->

nlps

++;

794

assert(diveset !=

NULL

);

816

assert(diveset !=

NULL

);

823 for

( c = 0; c < 4; ++c )

845

assert(diveset->divesetgetscore !=

NULL

);

846

assert(candscore !=

NULL

);

847

assert(roundup !=

NULL

);

848

assert(divecand !=

NULL

);

851 SCIP_CALL

( diveset->divesetgetscore(

set

->scip, diveset, divetype, divecand, divecandsol, divecandfrac,

852

candscore, roundup) );

865

assert(diveset !=

NULL

);

866

assert(available !=

NULL

);

868 if

( diveset->divesetavailable ==

NULL

)

873 SCIP_CALL

( diveset->divesetavailable(

set

->scip, diveset, available) );

887

assert(heur !=

NULL

);

891 if

( heur->heurcopy !=

NULL

)

929

assert(heur !=

NULL

);

930

assert(name !=

NULL

);

931

assert(desc !=

NULL

);

933

assert(freqofs >= 0);

934

assert(heurexec !=

NULL

);

941

(*heur)->dispchar = dispchar;

942

(*heur)->priority = priority;

943

(*heur)->freq = freq;

944

(*heur)->freqofs = freqofs;

945

(*heur)->maxdepth = maxdepth;

946

(*heur)->delaypos = -1;

947

(*heur)->timingmask = timingmask;

948

(*heur)->usessubscip = usessubscip;

949

(*heur)->heurcopy = heurcopy;

950

(*heur)->heurfree = heurfree;

951

(*heur)->heurinit = heurinit;

952

(*heur)->heurexit = heurexit;

953

(*heur)->heurinitsol = heurinitsol;

954

(*heur)->heurexitsol = heurexitsol;

955

(*heur)->heurexec = heurexec;

956

(*heur)->heurdata = heurdata;

960

(*heur)->nsolsfound = 0;

961

(*heur)->nbestsolsfound = 0;

962

(*heur)->initialized =

FALSE

;

963

(*heur)->divesets =

NULL

;

964

(*heur)->ndivesets = 0;

970

&(*heur)->priority,

TRUE

, priority, INT_MIN/4, INT_MAX/4,

973

(void)

SCIPsnprintf

(paramdesc,

SCIP_MAXSTRLEN

,

"frequency for calling primal heuristic <%s> (-1: never, 0: only at depth freqofs)"

, name);

1013

assert(heur !=

NULL

);

1014

assert(name !=

NULL

);

1015

assert(desc !=

NULL

);

1017

assert(freqofs >= 0);

1018

assert(heurexec !=

NULL

);

1020 SCIP_CALL_FINALLY

(

doHeurCreate

(heur,

set

, messagehdlr, blkmem, name, desc, dispchar, priority, freq, freqofs,

1021

maxdepth, timingmask, usessubscip, heurcopy, heurfree, heurinit, heurexit, heurinitsol, heurexitsol, heurexec,

1035

assert(heur !=

NULL

);

1036 if

( *heur ==

NULL

)

1038

assert(!(*heur)->initialized);

1040

assert((*heur)->divesets !=

NULL

|| (*heur)->ndivesets == 0);

1043 if

( (*heur)->heurfree !=

NULL

)

1048 for

( d = 0; d < (*heur)->ndivesets; ++d )

1050

assert((*heur)->divesets[d] !=

NULL

);

1070

assert(heur !=

NULL

);

1079 if

(

set

->misc_resetstat )

1093 if

( heur->heurinit !=

NULL

)

1105 for

( d = 0; d < heur->

ndivesets

; ++d )

1122

assert(heur !=

NULL

);

1131 if

( heur->heurexit !=

NULL

)

1152

assert(heur !=

NULL

);

1162 if

( heur->heurinitsol !=

NULL

)

1182

assert(heur !=

NULL

);

1186 if

( heur->heurexitsol !=

NULL

)

1204 int

lpstateforkdepth,

1215

execute = heur->

freq

>= 0;

1223

execute = (heur->

freq

> 0 && depth >= heur->

freqofs 1225

!= (lpstateforkdepth + heur->

freq

- heur->

freqofs

) / heur->

freq

));

1234

execute = execute || (depth == heur->

freqofs

&& heur->

freq

== 0);

1240

execute = execute || (heur->

delaypos

>= 0);

1257

execute = execute && (heur->

timingmask

& heurtiming) > 0;

1268 int

lpstateforkdepth,

1271 int

* ndelayedheurs,

1278

assert(heur !=

NULL

);

1279

assert(heur->heurexec !=

NULL

);

1280

assert(heur->

freq

>= -1);

1285

assert(primal !=

NULL

);

1287

assert(ndelayedheurs !=

NULL

);

1288

assert(result !=

NULL

);

1315 SCIP_CALL

( heur->heurexec(

set

->scip, heur, heurtiming, nodeinfeasible, result) );

1327 SCIPerrorMessage

(

"execution method of primal heuristic <%s> returned invalid result <%d>\n"

,

1328

heur->

name

, *result);

1348 SCIPsetDebugMsg

(

set

,

"delaying execution of primal heuristic <%s> in depth %d (delaypos: %d), heur was%s delayed before, had delaypos %d\n"

,

1352 if

( heur->

delaypos

!= *ndelayedheurs )

1368

assert(heur !=

NULL

);

1379

assert(heur !=

NULL

);

1392

assert(heur !=

NULL

);

1394

heur->heurcopy = heurcopy;

1403

assert(heur !=

NULL

);

1405

heur->heurfree = heurfree;

1414

assert(heur !=

NULL

);

1416

heur->heurinit = heurinit;

1425

assert(heur !=

NULL

);

1427

heur->heurexit = heurexit;

1436

assert(heur !=

NULL

);

1438

heur->heurinitsol = heurinitsol;

1447

assert(heur !=

NULL

);

1449

heur->heurexitsol = heurexitsol;

1457

assert(heur !=

NULL

);

1459 return

heur->

name

;

1467

assert(heur !=

NULL

);

1469 return

heur->

desc

;

1477

assert(heur !=

NULL

);

1487

assert(heur !=

NULL

);

1498

assert(heur !=

NULL

);

1508

assert(heur !=

NULL

);

1518

assert(heur !=

NULL

);

1530

assert(heur !=

NULL

);

1542

assert(heur !=

NULL

);

1544 return

heur->

freq

;

1553

assert(heur !=

NULL

);

1563

assert(heur !=

NULL

);

1573

assert(heur !=

NULL

);

1583

assert(heur !=

NULL

);

1593

assert(heur !=

NULL

);

1603

assert(heur !=

NULL

);

1613

assert(heur !=

NULL

);

1624

assert(heur !=

NULL

);

1635

assert(heur !=

NULL

);

1645

assert(heur !=

NULL

);

1655

assert(heur !=

NULL

);

1665

assert(heur !=

NULL

);

1709 int

currentdistance;

1719

assert(startvars !=

NULL

);

1720

assert(nstartvars >= 1);

1721

assert(distances !=

NULL

);

1722

assert(maxdistance >= 0);

1730

nbinintvars = nbinvars + nintvars;

1736 if

( vargraph ==

NULL

)

1739

assert(vargraph !=

NULL

);

1740

localvargraph =

TRUE

;

1743

localvargraph =

FALSE

;

1749 for

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

1758 for

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

1761

assert(probindex >= 0);

1763

distances[probindex] = 0;

1764

queue[i] = probindex;

1767 if

( probindex < nbinintvars )

1771

nextlvlidx = nvars - 1;

1780

currvar = vars[queue[currlvlidx]];

1782

currentdistance = distances[varpos];

1783

assert(currentdistance >= 0);

1786

assert(currentdistance <= maxdistance);

1789 if

( currentdistance == maxdistance )

1792

assert(varpos >= 0);

1795 for

( c = 0; c < vargraph->

nvarconss

[varpos]; ++c )

1819 for

( v = 0; v < nconsvars; ++v )

1823

assert(nextvar !=

NULL

);

1828

assert(nextvarpos >= 0);

1831 if

( distances[nextvarpos] == -1 )

1833

distances[nextvarpos] = currentdistance + 1;

1834

queue[nextlvlidx] = nextvarpos;

1835

nextlvlidx -= increment;

1838 if

( nextvarpos < nbinintvars )

1847

queue[currlvlidx] = -1;

1848

currlvlidx += increment;

1851 if

( currlvlidx == nvars || currlvlidx == 0 || queue[currlvlidx] == -1 || currlvlidx == nextlvlidx )

1854 if

( nvarshit >= maxvars || nbinintvarshit >= maxbinintvars )

1860 if

( increment == +1 )

1862

currlvlidx = nvars - 1;

1869

nextlvlidx = nvars - 1;

1874 while

( queue[currlvlidx] != -1 && distances[queue[currlvlidx]] >= currentdistance );

1880 if

( localvargraph )

1899 int

* nrelaxedconstraints

1910

assert(vargraph !=

NULL

);

1918 if

( nrelaxedconstraints !=

NULL

)

1919

*nrelaxedconstraints = 0;

1921

relaxlimit = (int)(relaxdensity * nvars);

1923 for

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

1941 if

( relaxdenseconss && nconsvars >= relaxlimit )

1943 if

( nrelaxedconstraints !=

NULL

)

1944

++(*nrelaxedconstraints);

1956 for

( v = 0; v < nconsvars; ++v )

2003 int

* nrelaxedconstraints

2010

assert(vargraph !=

NULL

);

2021

SCIPhashKeyEqPtr, SCIPhashKeyValPtr,

NULL

) );

2043

assert(vargraph !=

NULL

);

2047 for

( v = nvars - 1; v >= 0; --v )

void SCIPclockStop(SCIP_CLOCK *clck, SCIP_SET *set)

void SCIPclockEnableOrDisable(SCIP_CLOCK *clck, SCIP_Bool enable)

void SCIPclockStart(SCIP_CLOCK *clck, SCIP_SET *set)

SCIP_Real SCIPclockGetTime(SCIP_CLOCK *clck)

void SCIPclockReset(SCIP_CLOCK *clck)

void SCIPclockFree(SCIP_CLOCK **clck)

SCIP_RETCODE SCIPclockCreate(SCIP_CLOCK **clck, SCIP_CLOCKTYPE clocktype)

internal methods for clocks and timing issues

common defines and data types used in all packages of SCIP

#define SCIP_MAXTREEDEPTH

#define SCIP_CALL_FINALLY(x, y)

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

SCIP_CONS ** SCIPgetConss(SCIP *scip)

int SCIPgetNVars(SCIP *scip)

int SCIPgetNConss(SCIP *scip)

void SCIPhashtableFree(SCIP_HASHTABLE **hashtable)

SCIP_Bool SCIPhashtableExists(SCIP_HASHTABLE *hashtable, void *element)

SCIP_RETCODE SCIPhashtableCreate(SCIP_HASHTABLE **hashtable, BMS_BLKMEM *blkmem, int tablesize, SCIP_DECL_HASHGETKEY((*hashgetkey)), SCIP_DECL_HASHKEYEQ((*hashkeyeq)), SCIP_DECL_HASHKEYVAL((*hashkeyval)), void *userptr)

void SCIPhashtableRemoveAll(SCIP_HASHTABLE *hashtable)

SCIP_RETCODE SCIPhashtableInsert(SCIP_HASHTABLE *hashtable, void *element)

SCIP_RETCODE SCIPgetConsNVars(SCIP *scip, SCIP_CONS *cons, int *nvars, SCIP_Bool *success)

SCIP_Bool SCIPconsIsChecked(SCIP_CONS *cons)

SCIP_RETCODE SCIPgetConsVars(SCIP *scip, SCIP_CONS *cons, SCIP_VAR **vars, int varssize, SCIP_Bool *success)

SCIP_Real SCIPdivesetGetMaxLPIterQuot(SCIP_DIVESET *diveset)

SCIP_Bool SCIPdivesetIsPublic(SCIP_DIVESET *diveset)

SCIP_Real SCIPdivesetGetUbQuotNoSol(SCIP_DIVESET *diveset)

SCIP_Real SCIPdivesetGetMaxRelDepth(SCIP_DIVESET *diveset)

SCIP_Longint SCIPdivesetGetNBacktracks(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

SCIP_Longint SCIPdivesetGetNSols(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

int SCIPdivesetGetMaxSolutionDepth(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

SCIP_Longint SCIPdivesetGetNConflicts(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

SCIP_Real SCIPdivesetGetAvgQuot(SCIP_DIVESET *diveset)

SCIP_Bool SCIPdivesetUseBacktrack(SCIP_DIVESET *diveset)

int SCIPdivesetGetLPSolveFreq(SCIP_DIVESET *diveset)

SCIP_Real SCIPdivesetGetMinRelDepth(SCIP_DIVESET *diveset)

SCIP_Real SCIPdivesetGetUbQuot(SCIP_DIVESET *diveset)

SCIP_Real SCIPdivesetGetAvgSolutionDepth(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

int SCIPdivesetGetMaxDepth(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

int SCIPdivesetGetMinDepth(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

SCIP_Bool SCIPdivesetSupportsType(SCIP_DIVESET *diveset, SCIP_DIVETYPE divetype)

SCIP_Real SCIPdivesetGetAvgDepth(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

SCIP_Bool SCIPdivesetUseOnlyLPBranchcands(SCIP_DIVESET *diveset)

SCIP_Longint SCIPdivesetGetNLPIterations(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

SCIP_Longint SCIPdivesetGetSolSuccess(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

int SCIPdivesetGetMinSolutionDepth(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

const char * SCIPdivesetGetName(SCIP_DIVESET *diveset)

int SCIPdivesetGetNCalls(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

SCIP_Real SCIPdivesetGetAvgQuotNoSol(SCIP_DIVESET *diveset)

SCIP_RANDNUMGEN * SCIPdivesetGetRandnumgen(SCIP_DIVESET *diveset)

SCIP_Longint SCIPdivesetGetNProbingNodes(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

SCIP_Real SCIPdivesetGetLPResolveDomChgQuot(SCIP_DIVESET *diveset)

int SCIPdivesetGetNSolutionCalls(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

int SCIPdivesetGetMaxLPIterOffset(SCIP_DIVESET *diveset)

SCIP_RETCODE SCIPsetHeurPriority(SCIP *scip, SCIP_HEUR *heur, int priority)

char SCIPheurGetDispchar(SCIP_HEUR *heur)

SCIP_HEURDATA * SCIPheurGetData(SCIP_HEUR *heur)

SCIP_HEURTIMING SCIPheurGetTimingmask(SCIP_HEUR *heur)

const char * SCIPheurGetDesc(SCIP_HEUR *heur)

SCIP_Longint SCIPheurGetNSolsFound(SCIP_HEUR *heur)

int SCIPheurGetPriority(SCIP_HEUR *heur)

SCIP_Bool SCIPheurUsesSubscip(SCIP_HEUR *heur)

SCIP_Longint SCIPheurGetNBestSolsFound(SCIP_HEUR *heur)

void SCIPheurSetFreq(SCIP_HEUR *heur, int freq)

void SCIPheurSetTimingmask(SCIP_HEUR *heur, SCIP_HEURTIMING timingmask)

SCIP_Longint SCIPheurGetNCalls(SCIP_HEUR *heur)

int SCIPheurGetFreqofs(SCIP_HEUR *heur)

SCIP_DECL_SORTPTRCOMP(SCIPheurComp)

SCIP_Real SCIPheurGetSetupTime(SCIP_HEUR *heur)

int SCIPheurGetMaxdepth(SCIP_HEUR *heur)

int SCIPheurGetNDivesets(SCIP_HEUR *heur)

int SCIPheurGetFreq(SCIP_HEUR *heur)

SCIP_Real SCIPheurGetTime(SCIP_HEUR *heur)

const char * SCIPheurGetName(SCIP_HEUR *heur)

SCIP_Bool SCIPheurIsInitialized(SCIP_HEUR *heur)

SCIP_DIVESET ** SCIPheurGetDivesets(SCIP_HEUR *heur)

void SCIPheurSetData(SCIP_HEUR *heur, SCIP_HEURDATA *heurdata)

#define SCIPfreeBlockMemoryArray(scip, ptr, num)

#define SCIPallocClearBlockMemoryArray(scip, ptr, num)

#define SCIPallocClearBufferArray(scip, ptr, num)

int SCIPcalcMemGrowSize(SCIP *scip, int num)

#define SCIPallocBufferArray(scip, ptr, num)

#define SCIPfreeBufferArray(scip, ptr)

#define SCIPallocBlockMemoryArray(scip, ptr, num)

#define SCIPreallocBlockMemoryArray(scip, ptr, oldnum, newnum)

#define SCIPfreeBlockMemory(scip, ptr)

#define SCIPfreeBlockMemoryArrayNull(scip, ptr, num)

#define SCIPallocBlockMemory(scip, ptr)

void SCIPvariableGraphFree(SCIP *scip, SCIP_VGRAPH **vargraph)

SCIP_RETCODE SCIPvariablegraphBreadthFirst(SCIP *scip, SCIP_VGRAPH *vargraph, SCIP_VAR **startvars, int nstartvars, int *distances, int maxdistance, int maxvars, int maxbinintvars)

SCIP_RETCODE SCIPvariableGraphCreate(SCIP *scip, SCIP_VGRAPH **vargraph, SCIP_Bool relaxdenseconss, SCIP_Real relaxdensity, int *nrelaxedconstraints)

SCIP_Bool SCIPvarIsActive(SCIP_VAR *var)

int SCIPvarGetProbindex(SCIP_VAR *var)

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

void SCIPheurSetCopy(SCIP_HEUR *heur, SCIP_DECL_HEURCOPY((*heurcopy)))

void SCIPheurSetInitsol(SCIP_HEUR *heur, SCIP_DECL_HEURINITSOL((*heurinitsol)))

SCIP_RETCODE SCIPdivesetCreate(SCIP_DIVESET **divesetptr, SCIP_HEUR *heur, const char *name, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, SCIP_Real minreldepth, SCIP_Real maxreldepth, SCIP_Real maxlpiterquot, SCIP_Real maxdiveubquot, SCIP_Real maxdiveavgquot, SCIP_Real maxdiveubquotnosol, SCIP_Real maxdiveavgquotnosol, SCIP_Real lpresolvedomchgquot, int lpsolvefreq, int maxlpiterofs, unsigned int initialseed, SCIP_Bool backtrack, SCIP_Bool onlylpbranchcands, SCIP_Bool ispublic, SCIP_DIVETYPE divetypemask, SCIP_DECL_DIVESETGETSCORE((*divesetgetscore)), SCIP_DECL_DIVESETAVAILABLE((*divesetavailable)))

void SCIPheurEnableOrDisableClocks(SCIP_HEUR *heur, SCIP_Bool enable)

SCIP_RETCODE SCIPdivesetIsAvailable(SCIP_DIVESET *diveset, SCIP_SET *set, SCIP_Bool *available)

void SCIPheurSetFree(SCIP_HEUR *heur, SCIP_DECL_HEURFREE((*heurfree)))

void SCIPheurSetPriority(SCIP_HEUR *heur, SCIP_SET *set, int priority)

SCIP_RETCODE SCIPheurInit(SCIP_HEUR *heur, SCIP_SET *set)

static SCIP_RETCODE heurAddDiveset(SCIP_HEUR *heur, SCIP_DIVESET *diveset)

SCIP_RETCODE SCIPdivesetReset(SCIP_DIVESET *diveset, SCIP_SET *set)

void SCIPdivesetUpdateLPStats(SCIP_DIVESET *diveset, SCIP_STAT *stat, SCIP_Longint niterstoadd, SCIP_DIVECONTEXT divecontext)

static void divesetFree(SCIP_DIVESET **divesetptr, BMS_BLKMEM *blkmem)

static SCIP_DIVESETSTATS * divesetGetStats(SCIP_DIVESET *diveset, SCIP_DIVECONTEXT divecontext)

void SCIPheurSetInit(SCIP_HEUR *heur, SCIP_DECL_HEURINIT((*heurinit)))

static SCIP_RETCODE doHeurCreate(SCIP_HEUR **heur, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, char dispchar, int priority, int freq, int freqofs, int maxdepth, SCIP_HEURTIMING timingmask, SCIP_Bool usessubscip, SCIP_DECL_HEURCOPY((*heurcopy)), SCIP_DECL_HEURFREE((*heurfree)), SCIP_DECL_HEURINIT((*heurinit)), SCIP_DECL_HEUREXIT((*heurexit)), SCIP_DECL_HEURINITSOL((*heurinitsol)), SCIP_DECL_HEUREXITSOL((*heurexitsol)), SCIP_DECL_HEUREXEC((*heurexec)), SCIP_HEURDATA *heurdata)

SCIP_RETCODE SCIPheurExec(SCIP_HEUR *heur, SCIP_SET *set, SCIP_PRIMAL *primal, int depth, int lpstateforkdepth, SCIP_HEURTIMING heurtiming, SCIP_Bool nodeinfeasible, int *ndelayedheurs, SCIP_RESULT *result)

static void resetDivesetStats(SCIP_DIVESETSTATS *divesetstats)

SCIP_RETCODE SCIPheurCreate(SCIP_HEUR **heur, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, char dispchar, int priority, int freq, int freqofs, int maxdepth, SCIP_HEURTIMING timingmask, SCIP_Bool usessubscip, SCIP_DECL_HEURCOPY((*heurcopy)), SCIP_DECL_HEURFREE((*heurfree)), SCIP_DECL_HEURINIT((*heurinit)), SCIP_DECL_HEUREXIT((*heurexit)), SCIP_DECL_HEURINITSOL((*heurinitsol)), SCIP_DECL_HEUREXITSOL((*heurexitsol)), SCIP_DECL_HEUREXEC((*heurexec)), SCIP_HEURDATA *heurdata)

SCIP_RETCODE SCIPheurCopyInclude(SCIP_HEUR *heur, SCIP_SET *set)

void SCIPheurSetExitsol(SCIP_HEUR *heur, SCIP_DECL_HEUREXITSOL((*heurexitsol)))

void SCIPheurSetExit(SCIP_HEUR *heur, SCIP_DECL_HEUREXIT((*heurexit)))

void SCIPdivesetUpdateStats(SCIP_DIVESET *diveset, SCIP_STAT *stat, int depth, int nprobingnodes, int nbacktracks, SCIP_Longint nsolsfound, SCIP_Longint nbestsolsfound, SCIP_Longint nconflictsfound, SCIP_Bool leavesol, SCIP_DIVECONTEXT divecontext)

SCIP_RETCODE SCIPheurInitsol(SCIP_HEUR *heur, SCIP_SET *set)

SCIP_RETCODE SCIPheurExitsol(SCIP_HEUR *heur, SCIP_SET *set)

static void updateDivesetstats(SCIP_DIVESETSTATS *divesetstats, int depth, int nprobingnodes, int nbacktracks, SCIP_Longint nsolsfound, SCIP_Longint nbestsolsfound, SCIP_Longint nconflictsfound, SCIP_Bool leavesol)

SCIP_Bool SCIPheurShouldBeExecuted(SCIP_HEUR *heur, int depth, int lpstateforkdepth, SCIP_HEURTIMING heurtiming, SCIP_Bool *delayed)

SCIP_HEUR * SCIPdivesetGetHeur(SCIP_DIVESET *diveset)

SCIP_SOL * SCIPdivesetGetWorkSolution(SCIP_DIVESET *diveset)

SCIP_RETCODE SCIPdivesetGetScore(SCIP_DIVESET *diveset, SCIP_SET *set, SCIP_DIVETYPE divetype, SCIP_VAR *divecand, SCIP_Real divecandsol, SCIP_Real divecandfrac, SCIP_Real *candscore, SCIP_Bool *roundup)

void SCIPdivesetSetWorkSolution(SCIP_DIVESET *diveset, SCIP_SOL *sol)

static SCIP_DECL_PARAMCHGD(paramChgdHeurPriority)

static void updateDivesetstatsLP(SCIP_DIVESETSTATS *divesetstats, SCIP_Longint niterstoadd)

static SCIP_RETCODE fillVariableGraph(SCIP *scip, SCIP_VGRAPH *vargraph, SCIP_Bool relaxdenseconss, SCIP_Real relaxdensity, int *nrelaxedconstraints)

SCIP_RETCODE SCIPheurFree(SCIP_HEUR **heur, SCIP_SET *set, BMS_BLKMEM *blkmem)

SCIP_RETCODE SCIPheurExit(SCIP_HEUR *heur, SCIP_SET *set)

internal methods for primal heuristics

static const char * paramname[]

#define BMSfreeMemory(ptr)

#define BMSfreeBlockMemory(mem, ptr)

#define BMSallocBlockMemory(mem, ptr)

#define BMSreallocMemoryArray(ptr, num)

#define BMSduplicateMemoryArray(ptr, source, num)

#define BMSclearMemory(ptr)

#define BMSallocMemoryArray(ptr, num)

#define BMSfreeMemoryArray(ptr)

struct BMS_BlkMem BMS_BLKMEM

#define BMSfreeMemoryArrayNull(ptr)

#define BMSallocMemory(ptr)

void SCIPrandomFree(SCIP_RANDNUMGEN **randnumgen, BMS_BLKMEM *blkmem)

SCIP_RETCODE SCIPrandomCreate(SCIP_RANDNUMGEN **randnumgen, BMS_BLKMEM *blkmem, unsigned int initialseed)

void SCIPrandomSetSeed(SCIP_RANDNUMGEN *randnumgen, unsigned int initseed)

internal miscellaneous methods

BMS_BLKMEM * SCIPblkmem(SCIP *scip)

SCIP_PARAMDATA * SCIPparamGetData(SCIP_PARAM *param)

int SCIPparamGetInt(SCIP_PARAM *param)

internal methods for handling parameter settings

internal methods for collecting primal CIP solutions and primal informations

public methods for message output

public data structures and miscellaneous methods

SCIP_RETCODE SCIPsetAddIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, 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 SCIPsetAddBoolParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)

SCIP_RETCODE SCIPsetAddRealParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, 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)

unsigned int SCIPsetInitializeRandomSeed(SCIP_SET *set, unsigned int initialseedvalue)

internal methods for global SCIP settings

SCIP_Longint nlpiterations

SCIP_Longint totalsoldepth

SCIP_Longint totalnbacktracks

SCIP_Longint nconflictsfound

SCIP_Longint nbestsolsfound

SCIP_RANDNUMGEN * randnumgen

SCIP_DIVETYPE divetypemask

SCIP_Real maxdiveavgquotnosol

SCIP_Real maxdiveubquotnosol

SCIP_DIVESETSTATS * divesetstats[4]

SCIP_Real lpresolvedomchgquot

SCIP_Bool onlylpbranchcands

SCIP_HEURTIMING timingmask

SCIP_Longint nbestsolsfound

SCIP_Longint nbestsolsfound

SCIP_Longint ndivesetlpiterations

SCIP_Longint totaldivesetdepth

SCIP_HASHTABLE * visitedconss

datastructures for primal heuristics

#define SCIP_DECL_DIVESETAVAILABLE(x)

#define SCIP_DECL_HEURINITSOL(x)

#define SCIP_DECL_HEURCOPY(x)

enum SCIP_DiveContext SCIP_DIVECONTEXT

struct SCIP_HeurData SCIP_HEURDATA

#define SCIP_DECL_HEURINIT(x)

#define SCIP_DECL_HEUREXIT(x)

unsigned int SCIP_DIVETYPE

#define SCIP_DECL_HEURFREE(x)

#define SCIP_DECL_DIVESETGETSCORE(x)

#define SCIP_DECL_HEUREXITSOL(x)

#define SCIP_DECL_HEUREXEC(x)

@ SCIP_DIVECONTEXT_SINGLE

@ SCIP_DIVECONTEXT_ADAPTIVE

@ SCIP_DIVECONTEXT_SCHEDULER

struct SCIP_ParamData SCIP_PARAMDATA

enum SCIP_Result SCIP_RESULT

enum SCIP_Retcode SCIP_RETCODE

#define SCIP_HEURTIMING_BEFOREPRESOL

#define SCIP_HEURTIMING_AFTERPSEUDONODE

unsigned int SCIP_HEURTIMING

#define SCIP_HEURTIMING_DURINGPRESOLLOOP

#define SCIP_HEURTIMING_AFTERLPPLUNGE

#define SCIP_HEURTIMING_AFTERPSEUDOPLUNGE

#define SCIP_HEURTIMING_AFTERLPNODE


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