SCIP Doxygen Documentation
Loading...
Searching...
No Matches
reader_sch.c File Reference

Detailed Description

scheduling problem file reader for RCPSP/max format

Author
Stefan Heinz

This reader is capabale of parsing resource-constrained project scheduling problem with minimal and maximal time lags (RCPSP/max) instances. The <a http://www.wior.uni-karlsruhe.de/LS_Neumann/Forschung/ProGenMax/rcpspmax.html">PSPlib provides several instances set.

Definition in file reader_sch.c.

#include <assert.h>
#include <string.h>
#include <ctype.h>
#include "reader_sch.h"
#include "reader_sm.h"
#include "scip/cons_bounddisjunction.h"

Go to the source code of this file.

Macros

#define READER_NAME   "schreader"
#define READER_DESC   "scheduling file reader for sch files (RCPSP/max format)"
#define READER_EXTENSION   "sch"
#define SCH_MAX_LINELEN   65536

Functions

static SCIP_RETCODE addLowerboundCons (SCIP *scip)
static SCIP_RETCODE getJobId (SCIP *scip, const char *str, int *job, char **endptr)
static SCIP_RETCODE parseDetails (SCIP *scip, SCIP_FILE *file, int *lineno, int **demands, SCIP_DIGRAPH *precedencegraph, int *durations, int *capacities, int njobs, int nresources)
static SCIP_RETCODE readFile (SCIP *scip, SCIP_FILE *file, const char *filename)
static SCIP_DECL_READERCOPY (readerCopySch)
static SCIP_DECL_READERREAD (readerReadSch)
SCIP_RETCODE SCIPincludeReaderSch (SCIP *scip)

Macro Definition Documentation

◆ READER_NAME

#define READER_NAME   "schreader"

Definition at line 47 of file reader_sch.c.

◆ READER_DESC

#define READER_DESC   "scheduling file reader for sch files (RCPSP/max format)"

Definition at line 48 of file reader_sch.c.

◆ READER_EXTENSION

#define READER_EXTENSION   "sch"

Definition at line 49 of file reader_sch.c.

◆ SCH_MAX_LINELEN

#define SCH_MAX_LINELEN   65536

size of the line buffer for reading or writing

Definition at line 52 of file reader_sch.c.

Referenced by parseDetails(), and readFile().

Function Documentation

◆ addLowerboundCons()

◆ getJobId()

SCIP_RETCODE getJobId ( SCIP * scip,
const char * str,
int * job,
char ** endptr )
static

parse job id and check if only one job mode is present

Parameters
scipSCIP data structure
strstring to search
jobpointer to store the parsed job id
endptrpointer to store the final string position if successfully parsed

Definition at line 99 of file reader_sch.c.

References SCIP_OKAY, SCIP_READERROR, SCIPstrToIntValue(), and SCIPwarningMessage().

Referenced by parseDetails().

◆ parseDetails()

SCIP_RETCODE parseDetails ( SCIP * scip,
SCIP_FILE * file,
int * lineno,
int ** demands,
SCIP_DIGRAPH * precedencegraph,
int * durations,
int * capacities,
int njobs,
int nresources )
static

parse job and capacities details

Parameters
scipSCIP data structure
filefile to parse
linenopointer to store line number of the file
demandsdemand matrix resource job demand
precedencegraphdirect graph to store the precedence conditions
durationsarray to store the processing for each job
capacitiesarray to store the different capacities
njobsnumber of jobs to be parsed
nresourcesnumber of capacities to be parsed

Definition at line 127 of file reader_sch.c.

References getJobId(), NULL, r, SCH_MAX_LINELEN, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_READERROR, SCIPallocBufferArray, SCIPdebugMessage, SCIPdebugPrintf, SCIPdigraphAddArc(), SCIPfgets(), SCIPfreeBufferArray, SCIPstrCopySection(), and SCIPstrToIntValue().

Referenced by readFile().

◆ readFile()

SCIP_RETCODE readFile ( SCIP * scip,
SCIP_FILE * file,
const char * filename )
static

◆ SCIP_DECL_READERCOPY()

SCIP_DECL_READERCOPY ( readerCopySch )
static

copy method for reader plugins (called when SCIP copies plugins)

Definition at line 356 of file reader_sch.c.

References assert(), NULL, READER_NAME, SCIP_CALL, SCIP_OKAY, SCIPincludeReaderSch(), and SCIPreaderGetName().

◆ SCIP_DECL_READERREAD()

SCIP_DECL_READERREAD ( readerReadSch )
static

problem reading method of reader

Definition at line 370 of file reader_sch.c.

References NULL, readFile(), SCIP_CALL, SCIP_NOFILE, SCIP_OKAY, SCIP_SUCCESS, SCIPerrorMessage, SCIPfclose(), SCIPfopen(), and SCIPprintSysError().

◆ SCIPincludeReaderSch()

SCIP_RETCODE SCIPincludeReaderSch ( SCIP * scip)

includes the sch file reader in SCIP

Parameters
scipSCIP data structure

Definition at line 409 of file reader_sch.c.

References assert(), FALSE, NULL, READER_DESC, READER_EXTENSION, READER_NAME, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPincludeReaderBasic(), SCIPsetReaderCopy(), and SCIPsetReaderRead().

Referenced by runShell(), and SCIP_DECL_READERCOPY().