123 rowidx = matrix->
nrows;
129 matrix->
lhs[rowidx] = -rhs;
136 matrix->
lhs[rowidx] = lhs;
137 matrix->
rhs[rowidx] = rhs;
324 for(
i = 0;
i < matrix->
nrows;
i++ )
336 for(
i = 0;
i < matrix->
ncols-1;
i++ )
341 for(
i = 0;
i < matrix->
nrows;
i++ )
379 for( row = 0; row < matrix->
nrows; row++ )
458 SCIP_Bool* initialized,
460 SCIP_Bool* infeasible,
495 *initialized =
FALSE;
513 for(
i = 0;
i < nconshdlrs; ++
i )
529#ifdef SCIP_DISABLED_CODE
592 if( conshdlr !=
NULL )
612 if( conshdlr !=
NULL )
667 for( v = 0; v < matrix->
ncols; v++ )
695 for(
i = 0;
i < nconshdlrs; ++
i )
734 matrix->
cons[cnt] = cons;
784 matrix->
cons[cnt] = cons;
813 matrix->
cons[cnt] = cons;
830 SCIP_Longint* weights;
849 if(
nvars > valssize )
851 valssize = (int) (1.5 *
nvars);
855 for( v = 0; v <
nvars; v++ )
856 consvals[v] = (SCIP_Real)weights[v];
865 matrix->
cons[cnt] = cons;
911 matrix->
cons[cnt] = cons;
924#ifdef SCIP_DISABLED_CODE
964 if( nconsvars > valssize )
966 valssize = (int) (1.5 * nconsvars);
972 for(
j = 0;
j < nconsvars - 1;
j++ )
988 matrix->
cons[cnt] = cons;
989 matrix->
cons[cnt + 1] = cons;
1008 for(
i = 0;
i < matrix->
ncols; ++
i )
1033 *initialized =
TRUE;
1080 if( (*matrix) !=
NULL )
1124 (*matrix)->nrows = 0;
1125 (*matrix)->ncols = 0;
1126 (*matrix)->nnonzs = 0;
1165 printf(
" <= %.15g ###\n", matrix->
rhs[row]);
1260 for( t = 1; t < matrix->
nrows; ++t )
1264 for(
c = 0;
c < matrix->
ncols; ++
c )
1279 if( scale[rowidx] == 0.0 )
1280 scale[rowidx] =
aij;
1281 assert(scale[rowidx] != 0.0);
1284 values[
i] =
aij / scale[rowidx];
1418 for( t = 1; t < matrix->
ncols; ++t )
1422 for(
r = 0;
r < matrix->
nrows; ++
r )
1440 if( scale[
colidx] == 0.0 )
1540#undef SCIPmatrixGetColValPtr
1541#undef SCIPmatrixGetColIdxPtr
1542#undef SCIPmatrixGetColNNonzs
1543#undef SCIPmatrixGetNColumns
1544#undef SCIPmatrixGetColUb
1545#undef SCIPmatrixGetColLb
1546#undef SCIPmatrixGetColNUplocks
1547#undef SCIPmatrixGetColNDownlocks
1548#undef SCIPmatrixGetVar
1549#undef SCIPmatrixGetColName
1550#undef SCIPmatrixGetRowValPtr
1551#undef SCIPmatrixGetRowIdxPtr
1552#undef SCIPmatrixGetRowNNonzs
1553#undef SCIPmatrixGetRowName
1554#undef SCIPmatrixGetNRows
1555#undef SCIPmatrixGetRowLhs
1556#undef SCIPmatrixGetRowRhs
1557#undef SCIPmatrixIsRowRhsInfinity
1558#undef SCIPmatrixGetNNonzs
1559#undef SCIPmatrixGetRowMinActivity
1560#undef SCIPmatrixGetRowMaxActivity
1561#undef SCIPmatrixGetRowNMinActNegInf
1562#undef SCIPmatrixGetRowNMinActPosInf
1563#undef SCIPmatrixGetRowNMaxActNegInf
1564#undef SCIPmatrixGetRowNMaxActPosInf
1565#undef SCIPmatrixGetCons
1610 return matrix->
ncols;
1621 return matrix->
ub[col];
1632 return matrix->
lb[col];
1668 return matrix->
vars[col];
1738 return matrix->
nrows;
1750 return matrix->
lhs[row];
1762 return matrix->
rhs[row];
1868 return matrix->
cons[row];
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 SCIPgetBinvarsLinking(SCIP *scip, SCIP_CONS *cons, SCIP_VAR ***binvars, int *nbinvars)
int SCIPgetNVarsKnapsack(SCIP *scip, SCIP_CONS *cons)
SCIP_Real SCIPgetVbdcoefVarbound(SCIP *scip, SCIP_CONS *cons)
int SCIPgetNVarsLogicor(SCIP *scip, SCIP_CONS *cons)
SCIP_RETCODE SCIPcleanupConssSetppc(SCIP *scip, SCIP_Bool onlychecked, SCIP_Bool *infeasible, int *naddconss, int *ndelconss, int *nchgcoefs, int *nfixedvars)
SCIP_Real SCIPgetRhsLinear(SCIP *scip, SCIP_CONS *cons)
SCIP_VAR ** SCIPgetVarsLinear(SCIP *scip, SCIP_CONS *cons)
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_RETCODE SCIPcleanupConssKnapsack(SCIP *scip, SCIP_Bool onlychecked, SCIP_Bool *infeasible)
SCIP_RETCODE SCIPcleanupConssVarbound(SCIP *scip, SCIP_Bool onlychecked, SCIP_Bool *infeasible, int *naddconss, int *ndelconss, int *nchgbds)
SCIP_RETCODE SCIPcleanupConssLogicor(SCIP *scip, SCIP_Bool onlychecked, int *naddconss, int *ndelconss, int *nchgcoefs)
SCIP_VAR ** SCIPgetVarsSetppc(SCIP *scip, SCIP_CONS *cons)
SCIP_VAR * SCIPgetVarVarbound(SCIP *scip, SCIP_CONS *cons)
SCIP_RETCODE SCIPcleanupConssLinear(SCIP *scip, SCIP_Bool onlychecked, SCIP_Bool *infeasible)
SCIP_Longint * SCIPgetWeightsKnapsack(SCIP *scip, 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_VAR ** SCIPgetVarsLogicor(SCIP *scip, SCIP_CONS *cons)
SCIP_Real SCIPgetRhsVarbound(SCIP *scip, SCIP_CONS *cons)
SCIP_VAR ** SCIPgetVarsKnapsack(SCIP *scip, SCIP_CONS *cons)
SCIP_Real * SCIPgetValsLinking(SCIP *scip, SCIP_CONS *cons)
@ SCIP_SETPPCTYPE_PARTITIONING
@ SCIP_SETPPCTYPE_COVERING
@ SCIP_SETPPCTYPE_PACKING
SCIP_Bool SCIPisStopped(SCIP *scip)
int SCIPgetNVars(SCIP *scip)
SCIP_RETCODE SCIPdelCons(SCIP *scip, SCIP_CONS *cons)
int SCIPgetNConss(SCIP *scip)
SCIP_VAR ** SCIPgetVars(SCIP *scip)
int SCIPconshdlrGetNCheckConss(SCIP_CONSHDLR *conshdlr)
SCIP_CONS ** SCIPconshdlrGetCheckConss(SCIP_CONSHDLR *conshdlr)
int SCIPgetNConshdlrs(SCIP *scip)
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
SCIP_CONSHDLR * SCIPfindConshdlr(SCIP *scip, const char *name)
SCIP_CONSHDLR ** SCIPgetConshdlrs(SCIP *scip)
SCIP_Bool SCIPconsIsTransformed(SCIP_CONS *cons)
const char * SCIPconsGetName(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsModifiable(SCIP_CONS *cons)
#define SCIPfreeBuffer(scip, ptr)
#define SCIPallocBufferArray(scip, ptr, num)
#define SCIPreallocBufferArray(scip, ptr, num)
#define SCIPallocClearMemoryArray(scip, ptr, num)
#define SCIPfreeBufferArray(scip, ptr)
#define SCIPfreeMemoryArray(scip, ptr)
#define SCIPduplicateBufferArray(scip, ptr, source, num)
#define SCIPallocBuffer(scip, ptr)
#define SCIPfreeBufferArrayNull(scip, ptr)
int SCIPgetNActivePricers(SCIP *scip)
SCIP_Real SCIPinfinity(SCIP *scip)
SCIP_Bool SCIPisLE(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisInfinity(SCIP *scip, SCIP_Real val)
SCIP_Bool SCIPisEQ(SCIP *scip, SCIP_Real val1, SCIP_Real val2)
SCIP_Bool SCIPisZero(SCIP *scip, SCIP_Real val)
SCIP_RETCODE SCIPgetProbvarLinearSum(SCIP *scip, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize, SCIP_Bool mergemultiples)
int SCIPvarGetNLocksUpType(SCIP_VAR *var, SCIP_LOCKTYPE locktype)
SCIP_Real SCIPvarGetUbGlobal(SCIP_VAR *var)
int SCIPvarGetProbindex(SCIP_VAR *var)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_Real SCIPvarGetLbGlobal(SCIP_VAR *var)
int SCIPvarGetNLocksDownType(SCIP_VAR *var, SCIP_LOCKTYPE locktype)
void SCIPsortRealInt(SCIP_Real *realarray, int *intarray, int len)
void SCIPsortIntIntReal(int *intarray1, int *intarray2, SCIP_Real *realarray, int len)
assert(minobj< SCIPgetCutoffbound(scip))
static const SCIP_Real scalars[]
SCIP_Bool SCIPmatrixUplockConflict(SCIP_MATRIX *matrix, int col)
int SCIPmatrixGetRowNMinActNegInf(SCIP_MATRIX *matrix, int row)
int * SCIPmatrixGetColIdxPtr(SCIP_MATRIX *matrix, int col)
int SCIPmatrixGetNNonzs(SCIP_MATRIX *matrix)
static SCIP_RETCODE setColumnMajorFormat(SCIP *scip, SCIP_MATRIX *matrix)
int SCIPmatrixGetRowNNonzs(SCIP_MATRIX *matrix, int row)
const char * SCIPmatrixGetRowName(SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetColNDownlocks(SCIP_MATRIX *matrix, int col)
int SCIPmatrixGetColNNonzs(SCIP_MATRIX *matrix, int col)
SCIP_Bool SCIPmatrixIsRowRhsInfinity(SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetColNUplocks(SCIP_MATRIX *matrix, int col)
SCIP_Real SCIPmatrixGetRowMaxActivity(SCIP_MATRIX *matrix, int row)
static SCIP_RETCODE calcActivityBounds(SCIP *scip, SCIP_MATRIX *matrix)
SCIP_Real SCIPmatrixGetColLb(SCIP_MATRIX *matrix, int col)
SCIP_Real SCIPmatrixGetRowLhs(SCIP_MATRIX *matrix, int row)
const char * SCIPmatrixGetColName(SCIP_MATRIX *matrix, int col)
SCIP_Real * SCIPmatrixGetRowValPtr(SCIP_MATRIX *matrix, int row)
SCIP_Bool SCIPmatrixDownlockConflict(SCIP_MATRIX *matrix, int col)
static SCIP_RETCODE addRow(SCIP *scip, SCIP_MATRIX *matrix, SCIP_VAR **vars, SCIP_Real *vals, int nvars, SCIP_Real lhs, SCIP_Real rhs, int maxnnonzsmem, SCIP_Bool *rowadded)
SCIP_Real SCIPmatrixGetRowRhs(SCIP_MATRIX *matrix, int row)
SCIP_Real * SCIPmatrixGetColValPtr(SCIP_MATRIX *matrix, int col)
int SCIPmatrixGetRowNMinActPosInf(SCIP_MATRIX *matrix, int row)
SCIP_RETCODE SCIPmatrixCreate(SCIP *scip, SCIP_MATRIX **matrixptr, SCIP_Bool onlyifcomplete, SCIP_Bool *initialized, SCIP_Bool *complete, SCIP_Bool *infeasible, int *naddconss, int *ndelconss, int *nchgcoefs, int *nchgbds, int *nfixedvars)
int SCIPmatrixGetNColumns(SCIP_MATRIX *matrix)
SCIP_Real SCIPmatrixGetRowMinActivity(SCIP_MATRIX *matrix, int row)
SCIP_CONS * SCIPmatrixGetCons(SCIP_MATRIX *matrix, int row)
SCIP_RETCODE SCIPmatrixGetParallelRows(SCIP *scip, SCIP_MATRIX *matrix, SCIP_Real *scale, int *pclass)
static SCIP_RETCODE getActiveVariables(SCIP *scip, SCIP_VAR ***vars, SCIP_Real **scalars, int *nvars, SCIP_Real *constant)
void SCIPmatrixFree(SCIP *scip, SCIP_MATRIX **matrix)
int SCIPmatrixGetRowNMaxActPosInf(SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetRowNMaxActNegInf(SCIP_MATRIX *matrix, int row)
SCIP_VAR * SCIPmatrixGetVar(SCIP_MATRIX *matrix, int col)
int * SCIPmatrixGetRowIdxPtr(SCIP_MATRIX *matrix, int row)
static SCIP_RETCODE addConstraint(SCIP *scip, SCIP_MATRIX *matrix, SCIP_VAR **vars, SCIP_Real *vals, int nvars, SCIP_Real lhs, SCIP_Real rhs, int maxnnonzsmem, SCIP_Bool *rowadded)
void SCIPmatrixPrintRow(SCIP *scip, SCIP_MATRIX *matrix, int row)
SCIP_RETCODE SCIPmatrixGetParallelCols(SCIP *scip, SCIP_MATRIX *matrix, SCIP_Real *scale, int *pclass, SCIP_Bool *varineq)
int SCIPmatrixGetNRows(SCIP_MATRIX *matrix)
void SCIPmatrixRemoveColumnBounds(SCIP *scip, SCIP_MATRIX *matrix, int col)
SCIP_Real SCIPmatrixGetColUb(SCIP_MATRIX *matrix, int col)
memory allocation routines
#define BMSclearMemoryArray(ptr, num)
public methods for managing constraints
public methods for matrix
public methods for message output
methods for sorting joint arrays of various types
public methods for problem variables
public methods for constraint handler plugins and constraints
public methods for memory management
public methods for message handling
public methods for numerical tolerances
public methods for variable pricer plugins
public methods for global and local (sub)problems
public methods for SCIP variables
SCIP_Bool * isrhsinfinite
data structure for MIP matrix
enum SCIP_Retcode SCIP_RETCODE