( isspace(**s) )
74 while( (**s != 0) && (!isspace(**s)) )
87assert(reader !=
NULL);
101 const char* probname;
119assert(reader !=
NULL);
122assert(result !=
NULL);
123assert(filename !=
NULL);
128 SCIPerrorMessage(
"Please read in problem before reading the solution!\n");
144 while( !isspace(buf[i]) )
151printf(
"Reading solution for %s...\n", solprobname);
157correctinstance =
TRUE;
158 for( j = 0; j <= i; j++ )
160 if( solprobname[j] != probname[j] )
162correctinstance =
FALSE;
165 if( !correctinstance )
167 SCIPerrorMessage(
"The selected solution file doesn't belong to the current problem!\n");
173assert(graph !=
NULL);
183 for( i = 0; i < nsets; i++ )
193 SCIPfgets(buf, (
int)
sizeof(buf), fp);
198sets[color][setlengths[color]] = i;
199sets[color][setlengths[color]+1] = -1;
204 for( i = 0; i < nsets; i++ )
208 while( sets[i][j] != -1 )
230printf(
"testing validity...\n");
232 for( i = 0; i < nsets; i++ )
234 for( j = 0; j < setlengths[i]; j++ )
236 for( k = j+1; k < setlengths[i]; k++ )
238 if( tcliqueIsEdge(graph, sets[i][j], sets[i][k]) )
246printf(
"valid!\n");
250assert(constraints !=
NULL);
252 for( i = 0; i < nsets; i++ )
256 for( j = 0; j < setlengths[i]; j++ )
258 if( sets[i][j] == node )
262 if( tcliqueIsEdge(graph, sets[i][j], node) )
267 if( j == setlengths[i] )
269sets[i][setlengths[i]] = node;
270sets[i][setlengths[i]+1] = -1;
277 for( i = 0; i < nsets; i++ )
281assert(setindex == i);
291 for( j = 0; j < setlengths[i]; j++ )
300 for( i = nsets-1; i >= 0; i-- )
344assert(originalnodes !=
NULL);
346assert(deletednodes !=
NULL);
349assert(sets !=
NULL&& nsetelements !=
NULL);
356 for( i = 0; i <
nnodes; i++ )
363 for( i = 0; i < nsets; i++ )
368 for( j = 0; j < nsetelements[i]; j++ )
370 if( colors[originalnodes[sets[i][j]]] == -1 )
372colors[originalnodes[sets[i][j]]] = actcolor;
381 while( deletednodes[i] == -1 )
389node = deletednodes[i];
391 while( colors[node] == -1 )
393colorpossible =
TRUE;
396 while( firstedge <= lastedge )
398 if( colors[*firstedge] == j )
400colorpossible =
FALSE;
405 if( colorpossible ==
TRUE)
417 SCIPinfoMessage(
scip, file,
"%s %d generated by ColumnGenerationColoring\n", name, actcolor);
418 for( i = 0; i <
nnodes; i++ )
SCIP_FILE * SCIPfopen(const char *path, const char *mode)
char * SCIPfgets(char *s, int size, SCIP_FILE *stream)
SCIP_RETCODE SCIPaddCoefSetppc(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var)
SCIP_STAGE SCIPgetStage(SCIP *scip)
SCIP_RETCODE SCIPaddVar(SCIP *scip, SCIP_VAR *var)
const char * SCIPgetProbName(SCIP *scip)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
#define SCIPallocBufferArray(scip, ptr, num)
#define SCIPfreeBufferArray(scip, ptr)
SCIP_RETCODE SCIPincludeReaderBasic(SCIP *scip, SCIP_READER **readerptr, const char *name, const char *desc, const char *extension, SCIP_READERDATA *readerdata)
SCIP_RETCODE SCIPsetReaderCopy(SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERCOPY((*readercopy)))
const char * SCIPreaderGetName(SCIP_READER *reader)
SCIP_RETCODE SCIPsetReaderRead(SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERREAD((*readerread)))
SCIP_RETCODE SCIPsetReaderWrite(SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERWRITE((*readerwrite)))
SCIP_SOL * SCIPgetBestSol(SCIP *scip)
SCIP_Real SCIPgetSolVal(SCIP *scip, SCIP_SOL *sol, SCIP_VAR *var)
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_RETCODE SCIPchgVarUbLazy(SCIP *scip, SCIP_VAR *var, SCIP_Real lazyub)
void SCIPsortDownInt(int *intarray, int len)
int SCIPstrncpy(char *t, const char *s, int size)
int COLORprobGetNewNodeForOriginalNode(SCIP *scip, int node)
TCLIQUE_GRAPH * COLORprobGetOriginalGraph(SCIP *scip)
SCIP_CONS ** COLORprobGetConstraints(SCIP *scip)
SCIP_RETCODE COLORprobAddNewStableSet(SCIP *scip, int *stablesetnodes, int nstablesetnodes, int *setindex)
int * COLORprobGetOriginalNodesForNewNodes(SCIP *scip)
int COLORprobGetNNodes(SCIP *scip)
int COLORprobGetOriginalNNodes(SCIP *scip)
SCIP_VAR * COLORprobGetVarForStableSet(SCIP *scip, int setindex)
void COLORprobGetStableSets(SCIP *scip, int ***stablesets, int **nelements, int *nstablesets)
TCLIQUE_GRAPH * COLORprobGetGraph(SCIP *scip)
SCIP_RETCODE COLORprobAddVarForStableSet(SCIP *scip, int setindex, SCIP_VAR *var)
int * COLORprobGetDeletedNodes(SCIP *scip)
problem data for vertex coloring algorithm
struct SCIP_File SCIP_FILE
file reader for vertex coloring instances
static SCIP_DECL_READERWRITE(readerWriteCsol)
static SCIP_DECL_READERCOPY(readerCopyCsol)
SCIP_RETCODE SCIPincludeReaderCsol(SCIP *scip)
static SCIP_DECL_READERREAD(readerReadCsol)
static long getNextNumber(char **s)
file reader and writer for vertex coloring solutions
int * tcliqueGetLastAdjedge(TCLIQUE_GRAPH *tcliquegraph, int node)
int * tcliqueGetFirstAdjedge(TCLIQUE_GRAPH *tcliquegraph, int node)
struct TCLIQUE_Graph TCLIQUE_GRAPH
struct SCIP_ReaderData SCIP_READERDATA
enum SCIP_Retcode SCIP_RETCODE
struct SCIP_VarData SCIP_VARDATA
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