SCIP_EventhdlrData
121assert(eventhdlrdata !=
NULL);
123eventhdlrdata->filename =
NULL;
124eventhdlrdata->file =
NULL;
125eventhdlrdata->isopen =
FALSE;
126eventhdlrdata->oldfilename[0] =
'\0';
127eventhdlrdata->filenumber = 1;
145assert(subscip !=
NULL);
146assert(vars !=
NULL);
147assert(bounds !=
NULL);
148assert(boundtypes !=
NULL);
150assert(varmap !=
NULL);
153 for( v = nvars - 1; v >= 0; --v )
156assert(subscipvar !=
NULL);
186assert(eventhdlrdata !=
NULL);
188file = eventhdlrdata->file;
189writesubmipdualbound = eventhdlrdata->writesubmipdualbound;
213 if( writesubmipdualbound )
236#ifdef SCIP_DISABLED_CODE 305 for( v = 2; v >= 0; --v )
324assert(nopennodes >= 0);
331 if( writesubmipdualbound )
372 if( nbranchvars > size )
446assert(eventhdlr !=
NULL);
449#ifdef SCIP_DISABLED_CODE 464assert(eventhdlr !=
NULL);
467assert(eventhdlrdata !=
NULL);
468assert(!eventhdlrdata->isopen);
469assert(eventhdlrdata->file ==
NULL);
483assert(eventhdlr !=
NULL);
490assert(eventhdlrdata !=
NULL);
503assert(eventhdlr !=
NULL);
510assert(eventhdlrdata !=
NULL);
512 if( eventhdlrdata->isopen )
514(void) fclose(eventhdlrdata->file);
515eventhdlrdata->isopen =
FALSE;
517eventhdlrdata->file =
NULL;
518eventhdlrdata->oldfilename[0] =
'\0';
519eventhdlrdata->filenumber = 1;
531assert(eventhdlr !=
NULL);
533assert(event !=
NULL);
536 SCIPdebugMsg(
scip,
"exec method of event handler for writing primal- and dualbounds\n");
539assert(eventhdlrdata !=
NULL);
543 if( strlen(eventhdlrdata->filename) > 0 && !eventhdlrdata->isopen )
545assert(eventhdlrdata->file ==
NULL);
546assert(eventhdlrdata->oldfilename[0] ==
'\0');
548eventhdlrdata->file = fopen(eventhdlrdata->filename,
"w");
551 if( eventhdlrdata->file ==
NULL)
553 SCIPerrorMessage(
"cannot create file <%s> for writing\n", eventhdlrdata->filename);
557eventhdlrdata->isopen =
TRUE;
561 SCIPinfoMessage(
scip, eventhdlrdata->file,
"\t (%d Presolved Constraints, %d Presolved Variables, (%d binary, %d integer, %d implicit integer, %d continuous))\n",
SCIPgetNConss(
scip),
SCIPgetNVars(
scip),
SCIPgetNBinVars(
scip),
SCIPgetNIntVars(
scip),
SCIPgetNImplVars(
scip),
SCIPgetNContVars(
scip));
568 if( eventhdlrdata->freq == 0 || (
SCIPgetNNodes(
scip) % eventhdlrdata->freq) != 0 )
572 if( strlen(eventhdlrdata->filename) > 0 )
579assert(eventhdlrdata->file ==
NULL);
580assert(!eventhdlrdata->isopen);
582 if( eventhdlrdata->oldfilename[0] ==
'\0')
586pch=strrchr(eventhdlrdata->filename,
'.');
588assert(eventhdlrdata->filenumber > 0);
597strncat(name,
number, (
unsigned int)n);
606len = (int) (pch-(eventhdlrdata->filename));
608(void)
SCIPstrncpy(name, eventhdlrdata->filename, len);
609strncat(name,
number, (
unsigned int)n);
613 if( len + n + strlen(&(eventhdlrdata->filename[len])) <
SCIP_MAXSTRLEN)
614strcat(name, &(eventhdlrdata->filename[len]));
617eventhdlrdata->file = fopen(name,
"w");
619 if( eventhdlrdata->file ==
NULL)
621 SCIPerrorMessage(
"cannot create file <%s> for writing\n", eventhdlrdata->filename);
625eventhdlrdata->isopen =
TRUE;
629 SCIPinfoMessage(
scip, eventhdlrdata->file,
"\t (%d Active Constraints, %d Active Variables, (%d binary, %d integer, %d implicit integer, %d continuous))\n",
SCIPgetNConss(
scip),
SCIPgetNVars(
scip),
SCIPgetNBinVars(
scip),
SCIPgetNIntVars(
scip),
SCIPgetNImplVars(
scip),
SCIPgetNContVars(
scip));
637 if( strlen(eventhdlrdata->filename) > 0 && eventhdlrdata->isopen )
644assert(strcmp(tmp, eventhdlrdata->oldfilename) == 0);
657 if( strlen(eventhdlrdata->filename) > 0 )
659assert(eventhdlrdata->isopen);
661(void) fclose(eventhdlrdata->file);
662eventhdlrdata->isopen =
FALSE;
663eventhdlrdata->file =
NULL;
664++(eventhdlrdata->filenumber);
686eventExecBoundwriting, eventhdlrdata) );
687assert(eventhdlr !=
NULL);
697 "in which frequency should all bounds be written(0: never)",
701 "filename to write all bounds to",
705 "should the dualbound of the submip-root which was created out of an open node be printed",
#define SCIP_LONGINT_FORMAT
static SCIP_DECL_EVENTCOPY(eventCopyBoundwriting)
SCIP_RETCODE SCIPincludeEventHdlrBoundwriting(SCIP *scip)
static SCIP_DECL_EVENTFREE(eventFreeBoundwriting)
static SCIP_DECL_EVENTEXIT(eventExitBoundwriting)
static SCIP_RETCODE applyDomainChanges(SCIP *subscip, SCIP_VAR **vars, SCIP_Real *bounds, SCIP_BOUNDTYPE *boundtypes, int nvars, SCIP_HASHMAP *varmap)
static SCIP_DECL_EVENTINIT(eventInitBoundwriting)
static void initEventhdlrdata(SCIP_EVENTHDLRDATA *eventhdlrdata)
static SCIP_DECL_EVENTEXEC(eventExecBoundwriting)
#define DEFAULT_WRITESUBMIPDUALBOUND
static SCIP_RETCODE writeBounds(SCIP *scip, FILE *file, SCIP_Bool writesubmipdualbound)
event handler for writing primal- and dual bound for all open nodes
SCIP_RETCODE SCIPcopy(SCIP *sourcescip, SCIP *targetscip, SCIP_HASHMAP *varmap, SCIP_HASHMAP *consmap, const char *suffix, SCIP_Bool global, SCIP_Bool enablepricing, SCIP_Bool threadsafe, SCIP_Bool passmessagehdlr, SCIP_Bool *valid)
SCIP_Bool SCIPisStopped(SCIP *scip)
SCIP_RETCODE SCIPfree(SCIP **scip)
SCIP_RETCODE SCIPcreate(SCIP **scip)
SCIP_STATUS SCIPgetStatus(SCIP *scip)
int SCIPgetNIntVars(SCIP *scip)
int SCIPgetNImplVars(SCIP *scip)
const char * SCIPgetProbName(SCIP *scip)
int SCIPgetNContVars(SCIP *scip)
SCIP_RETCODE SCIPsetObjlimit(SCIP *scip, SCIP_Real objlimit)
SCIP_Real SCIPgetTransObjoffset(SCIP *scip)
SCIP_RETCODE SCIPgetVarsData(SCIP *scip, SCIP_VAR ***vars, int *nvars, int *nbinvars, int *nintvars, int *nimplvars, int *ncontvars)
int SCIPgetNOrigConss(SCIP *scip)
int SCIPgetNVars(SCIP *scip)
int SCIPgetNConss(SCIP *scip)
int SCIPgetNOrigVars(SCIP *scip)
SCIP_OBJSENSE SCIPgetObjsense(SCIP *scip)
int SCIPgetNBinVars(SCIP *scip)
SCIP_Real SCIPgetTransObjscale(SCIP *scip)
void SCIPhashmapFree(SCIP_HASHMAP **hashmap)
void * SCIPhashmapGetImage(SCIP_HASHMAP *hashmap, void *origin)
SCIP_RETCODE SCIPhashmapCreate(SCIP_HASHMAP **hashmap, BMS_BLKMEM *blkmem, int mapsize)
SCIP_Real SCIPgetNodeDualbound(SCIP *scip, SCIP_NODE *node)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
SCIP_RETCODE SCIPaddLongintParam(SCIP *scip, const char *name, const char *desc, SCIP_Longint *valueptr, SCIP_Bool isadvanced, SCIP_Longint defaultvalue, SCIP_Longint minvalue, SCIP_Longint maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
SCIP_RETCODE SCIPaddStringParam(SCIP *scip, const char *name, const char *desc, char **valueptr, SCIP_Bool isadvanced, const char *defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
SCIP_RETCODE SCIPsetLongintParam(SCIP *scip, const char *name, SCIP_Longint value)
SCIP_RETCODE SCIPsetHeuristics(SCIP *scip, SCIP_PARAMSETTING paramsetting, SCIP_Bool quiet)
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 SCIPsetBoolParam(SCIP *scip, const char *name, SCIP_Bool value)
SCIP_RETCODE SCIPsetEventhdlrCopy(SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTCOPY((*eventcopy)))
SCIP_RETCODE SCIPincludeEventhdlrBasic(SCIP *scip, SCIP_EVENTHDLR **eventhdlrptr, const char *name, const char *desc, SCIP_DECL_EVENTEXEC((*eventexec)), SCIP_EVENTHDLRDATA *eventhdlrdata)
const char * SCIPeventhdlrGetName(SCIP_EVENTHDLR *eventhdlr)
SCIP_EVENTHDLRDATA * SCIPeventhdlrGetData(SCIP_EVENTHDLR *eventhdlr)
SCIP_RETCODE SCIPsetEventhdlrFree(SCIP *scip, SCIP_EVENTHDLR *eventhdlr, SCIP_DECL_EVENTFREE((*eventfree)))
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_EVENTTYPE SCIPeventGetType(SCIP_EVENT *event)
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)
#define SCIPallocBufferArray(scip, ptr, num)
#define SCIPfreeBufferArray(scip, ptr)
#define SCIPfreeBlockMemory(scip, ptr)
#define SCIPallocBlockMemory(scip, ptr)
void SCIPnodeGetAncestorBranchings(SCIP_NODE *node, SCIP_VAR **branchvars, SCIP_Real *branchbounds, SCIP_BOUNDTYPE *boundtypes, int *nbranchvars, int branchvarssize)
SCIP_NODETYPE SCIPnodeGetType(SCIP_NODE *node)
SCIP_Longint SCIPnodeGetNumber(SCIP_NODE *node)
int SCIPnodeGetDepth(SCIP_NODE *node)
SCIP_RETCODE SCIPsolve(SCIP *scip)
SCIP_Real SCIPgetPrimalbound(SCIP *scip)
SCIP_Longint SCIPgetNNodes(SCIP *scip)
SCIP_Real SCIPgetDualbound(SCIP *scip)
SCIP_Real SCIPgetCutoffbound(SCIP *scip)
SCIP_Real SCIPinfinity(SCIP *scip)
SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_RETCODE SCIPgetChildren(SCIP *scip, SCIP_NODE ***children, int *nchildren)
int SCIPgetNNodesLeft(SCIP *scip)
SCIP_RETCODE SCIPgetLeaves(SCIP *scip, SCIP_NODE ***leaves, int *nleaves)
SCIP_RETCODE SCIPgetSiblings(SCIP *scip, SCIP_NODE ***siblings, int *nsiblings)
SCIP_NODE * SCIPgetCurrentNode(SCIP *scip)
SCIP_RETCODE SCIPchgVarLbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
SCIP_RETCODE SCIPchgVarUbGlobal(SCIP *scip, SCIP_VAR *var, SCIP_Real newbound)
void SCIPprintSysError(const char *message)
int SCIPstrncpy(char *t, const char *s, int size)
BMS_BLKMEM * SCIPblkmem(SCIP *scip)
#define SCIP_EVENTTYPE_NODEFEASIBLE
#define SCIP_EVENTTYPE_NODEINFEASIBLE
struct SCIP_EventhdlrData SCIP_EVENTHDLRDATA
#define SCIP_EVENTTYPE_NODEBRANCHED
#define SCIP_EVENTTYPE_NODESOLVED
enum SCIP_BoundType SCIP_BOUNDTYPE
enum SCIP_Retcode SCIP_RETCODE
@ SCIP_NODETYPE_PROBINGNODE
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