|
Dip
0.92.4
|

Go to the source code of this file.
Functions | |
| COINLIBAPI const char *COINLINKAGE | Cbc_getVersion (void) |
| Current version of Cbc. More... | |
Problem creation and modification routines | |
| COINLIBAPI Cbc_Model *COINLINKAGE | Cbc_newModel (void) |
| Creates an empty problem. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_setProblemName (Cbc_Model *model, const char *array) |
| Sets problem name. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_addCol (Cbc_Model *model, const char *name, double lb, double ub, double obj, char isInteger, int nz, int *rows, double *coefs) |
| Creates a new column. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_addRow (Cbc_Model *model, const char *name, int nz, const int *cols, const double *coefs, char sense, double rhs) |
| Adds a new row. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_addSOS (Cbc_Model *model, int numRows, const int *rowStarts, const int *colIndices, const double *weights, const int type) |
| Add SOS constraints to the model using row-order matrix. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_loadProblem (Cbc_Model *model, const int numcols, const int numrows, const CoinBigIndex *start, const int *index, const double *value, const double *collb, const double *colub, const double *obj, const double *rowlb, const double *rowub) |
| Loads a problem (the constraints on the rows are given by lower and upper bounds). More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setColName (Cbc_Model *model, int iColumn, const char *name) |
| Set the name of a column. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setRowName (Cbc_Model *model, int iRow, const char *name) |
| Set the name of a row. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setObjSense (Cbc_Model *model, double sense) |
| Sets optimization direction. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setRowLower (Cbc_Model *model, int index, double value) |
| Set the lower bound of a single constraint. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setRowUpper (Cbc_Model *model, int index, double value) |
| Set the upper bound of a single constraint. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setObjCoeff (Cbc_Model *model, int index, double value) |
| Set the objective coefficient of a single variable. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setColLower (Cbc_Model *model, int index, double value) |
| Set the lower bound of a single variable. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setColUpper (Cbc_Model *model, int index, double value) |
| Set the upper bound of a single variable. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setContinuous (Cbc_Model *model, int iColumn) |
| Set this variable to be continuous. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setInteger (Cbc_Model *model, int iColumn) |
| Set this variable to be integer. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_deleteModel (Cbc_Model *model) |
| Cbc_Model destructor. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setMIPStart (Cbc_Model *model, int count, const char **colNames, const double colValues[]) |
| Enter initial feasible solution. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setMIPStartI (Cbc_Model *model, int count, const int colIdxs[], const double colValues[]) |
| Enter initial feasible solution. More... | |
| COINLIBAPI Cbc_Model *COINLINKAGE | Cbc_clone (Cbc_Model *model) |
| Creates a copy of the current model. More... | |
Routines to query problem contents | |
| COINLIBAPI void COINLINKAGE | Cbc_problemName (Cbc_Model *model, int maxNumberCharacters, char *array) |
| Queries problem name. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getNumElements (Cbc_Model *model) |
| Number of nonzero elements in constraint matrix. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getNumCols (Cbc_Model *model) |
| Number of variables in the model. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getNumIntegers (Cbc_Model *model) |
| Number of integer variables in the model. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getNumRows (Cbc_Model *model) |
| Number of constraints in the model. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_getRowName (Cbc_Model *model, int iRow, char *name, size_t maxLength) |
| Queries row name. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_getColName (Cbc_Model *model, int iColumn, char *name, size_t maxLength) |
| Queries column name. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getRowNz (Cbc_Model *model, int row) |
| Number of non-zero entries in a row. More... | |
| COINLIBAPI const int *COINLINKAGE | Cbc_getRowIndices (Cbc_Model *model, int row) |
| Indices of variables that appear on a row. More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getRowCoeffs (Cbc_Model *model, int row) |
| Coefficients of variables that appear on this row. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getColNz (Cbc_Model *model, int col) |
| Number of non-zero entries in a column. More... | |
| COINLIBAPI const int *COINLINKAGE | Cbc_getColIndices (Cbc_Model *model, int col) |
| Indices of rows that a column appears. More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getColCoeffs (Cbc_Model *model, int col) |
| Coefficients that a column appear in rows. More... | |
| COINLIBAPI double COINLINKAGE | Cbc_getRowRHS (Cbc_Model *model, int row) |
| Right hand side of a row. More... | |
| COINLIBAPI char COINLINKAGE | Cbc_getRowSense (Cbc_Model *model, int row) |
| Sense a row. More... | |
| COINLIBAPI double COINLINKAGE | Cbc_getObjSense (Cbc_Model *model) |
| Direction of optimization. More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getRowLower (Cbc_Model *model) |
| Constraint lower bounds. More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getRowUpper (Cbc_Model *model) |
| Constraint upper bounds. More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getObjCoefficients (Cbc_Model *model) |
| Objective vector. More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getColLower (Cbc_Model *model) |
| Variable lower bounds. More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getColUpper (Cbc_Model *model) |
| Variable upper bounds. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isInteger (Cbc_Model *model, int i) |
| Determine whether the ith variable is integer restricted. More... | |
Routines to load and save problems from disk | |
| COINLIBAPI int COINLINKAGE | Cbc_readMps (Cbc_Model *model, const char *filename) |
| Read an mps file from the given filename. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_readLp (Cbc_Model *model, const char *filename) |
| Read an lp file from the given filename. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_writeMps (Cbc_Model *model, const char *filename) |
| Write an mps file from the given filename. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_writeLp (Cbc_Model *model, const char *filename) |
| Write an lp file from the given filename. More... | |
Getting and setting model data | |
Note that problem access and modification methods, such as getColLower and setColLower, are not valid after calling Cbc_solve(). Therefore it is not recommended to reuse a Cbc_Model object for multiple solves. A workaround is to call Cbc_clone() before solving. | |
| COINLIBAPI void COINLINKAGE | Cbc_setInitialSolution (Cbc_Model *model, const double *sol) |
| Provide an initial feasible solution to accelerate branch-and-bound Note that feasibility of the solution is not verified. More... | |
| COINLIBAPI const CoinBigIndex *COINLINKAGE | Cbc_getVectorStarts (Cbc_Model *model) |
| "Column start" vector of constraint matrix. More... | |
| COINLIBAPI const int *COINLINKAGE | Cbc_getIndices (Cbc_Model *model) |
| "Row index" vector of constraint matrix More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getElements (Cbc_Model *model) |
| Coefficient vector of constraint matrix. More... | |
| COINLIBAPI size_t COINLINKAGE | Cbc_maxNameLength (Cbc_Model *model) |
| Maximum lenght of a row or column name. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_printModel (Cbc_Model *model, const char *argPrefix) |
| Print the model. More... | |
Solver parameters | |
| COINLIBAPI void COINLINKAGE | Cbc_setParameter (Cbc_Model *model, const char *name, const char *value) |
| Set parameter "name" to value "value". More... | |
| COINLIBAPI double COINLINKAGE | Cbc_getAllowableGap (Cbc_Model *model) |
| returns the allowable gap More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setAllowableGap (Cbc_Model *model, double allowedGap) |
| sets the allowable gap More... | |
| COINLIBAPI double COINLINKAGE | Cbc_getAllowableFractionGap (Cbc_Model *model) |
| returns the allowable fraction gap More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setAllowableFractionGap (Cbc_Model *model, double allowedFracionGap) |
| sets the allowable fraction gap More... | |
| COINLIBAPI double COINLINKAGE | Cbc_getAllowablePercentageGap (Cbc_Model *model) |
| returns the allowable percentage gap More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setAllowablePercentageGap (Cbc_Model *model, double allowedPercentageGap) |
| sets the allowable percentage gap More... | |
| COINLIBAPI double COINLINKAGE | Cbc_getMaximumSeconds (Cbc_Model *model) |
| returns the time limit for the search process More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setMaximumSeconds (Cbc_Model *model, double maxSeconds) |
| sets the time limit for the search process More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getMaximumNodes (Cbc_Model *model) |
| returns the maximum number of nodes that can be explored in the search tree More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setMaximumNodes (Cbc_Model *model, int maxNodes) |
| sets the maximum number of nodes that can be explored in the search tree More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getMaximumSolutions (Cbc_Model *model) |
| returns solution limit for the search process More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setMaximumSolutions (Cbc_Model *model, int maxSolutions) |
| sets a solution limit as a stopping criterion More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getLogLevel (Cbc_Model *model) |
| returns the current log leven More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setLogLevel (Cbc_Model *model, int logLevel) |
| sets the log level More... | |
| COINLIBAPI double COINLINKAGE | Cbc_getCutoff (Cbc_Model *model) |
| returns the cutoff More... | |
| COINLIBAPI void COINLINKAGE | Cbc_setCutoff (Cbc_Model *model, double cutoff) |
| sets the cutoff More... | |
Message handling. Call backs are handled by ONE function | |
| COINLIBAPI void COINLINKAGE | Cbc_registerCallBack (Cbc_Model *model, cbc_callback userCallBack) |
| Pass in Callback function. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_clearCallBack (Cbc_Model *model) |
| Unset Callback function. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_addCutCallback (Cbc_Model *model, cbc_cut_callback cutcb, const char *name, void *appData) |
| Pass in Callback function. More... | |
Solving the model | |
| COINLIBAPI int COINLINKAGE | Cbc_solve (Cbc_Model *model) |
Accessing the solution and optimization status | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getColSolution (Cbc_Model *model) |
| Best feasible solution vector. More... | |
| COINLIBAPI double COINLINKAGE | Cbc_getBestPossibleObjValue (Cbc_Model *model) |
| Best known bound on the optimal objective value. More... | |
| COINLIBAPI double *COINLINKAGE | Cbc_bestSolution (Cbc_Model *model) |
| Best integer feasible solution. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_numberSavedSolutions (Cbc_Model *model) |
| number of integer feasible solution saved More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_savedSolution (Cbc_Model *model, int whichSol) |
| Vector with the i-th saved solution. More... | |
| COINLIBAPI double COINLINKAGE | Cbc_savedSolutionObj (Cbc_Model *model, int whichSol) |
| Cost of the whichSol solution. More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getReducedCost (Cbc_Model *model) |
| Queries vector of reduced costs. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isAbandoned (Cbc_Model *model) |
| If optimization was abandoned due to numerical difficulties. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isProvenOptimal (Cbc_Model *model) |
| If the optimal solution was found. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isProvenInfeasible (Cbc_Model *model) |
| If infeasibility was proven. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isContinuousUnbounded (Cbc_Model *model) |
| Is continuous model unbounded ? More... | |
| COINLIBAPI double COINLINKAGE | Cbc_getObjValue (Cbc_Model *model) |
| Objective value of best feasible solution. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_status (Cbc_Model *model) |
| Final optimization status. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_secondaryStatus (Cbc_Model *model) |
| Secondary status of problem. More... | |
| COINLIBAPI double COINLINKAGE | Cbc_sumPrimalInfeasibilities (Cbc_Model *model) |
| Sum of primal infeasibilities. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_numberPrimalInfeasibilities (Cbc_Model *model) |
| Number of primal infeasibilities. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_checkSolution (Cbc_Model *model) |
| Just check solution (for external use) - sets sum of infeasibilities etc. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getIterationCount (Cbc_Model *model) |
| Number of iterations. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isNodeLimitReached (Cbc_Model *model) |
| Node limit reached? More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isSecondsLimitReached (Cbc_Model *model) |
| Time limit reached? More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isSolutionLimitReached (Cbc_Model *model) |
| Solution limit reached? More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isInitialSolveAbandoned (Cbc_Model *model) |
| Are there numerical difficulties (for initialSolve) ? More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isInitialSolveProvenOptimal (Cbc_Model *model) |
| Is optimality proven (for initialSolve) ? More... | |
| COINLIBAPI int COINLINKAGE | Cbc_isInitialSolveProvenPrimalInfeasible (Cbc_Model *model) |
| Is primal infeasiblity proven (for initialSolve) ? More... | |
| COINLIBAPI const double *COINLINKAGE | Cbc_getRowActivity (Cbc_Model *model) |
| "row" solution This is the vector A*x, where A is the constraint matrix and x is the current solution. More... | |
| COINLIBAPI int COINLINKAGE | Cbc_getNodeCount (Cbc_Model *model) |
| Number of nodes explored in B&B tree. More... | |
| COINLIBAPI void COINLINKAGE | Cbc_printSolution (Cbc_Model *model) |
| Print the solution. More... | |
OsiSolverInterface related routines (used in callbacks) | |
| COINLIBAPI int COINLINKAGE | Osi_getNumCols (void *osi) |
| Returns number of cols in OsiSolverInterface object. More... | |
| COINLIBAPI void COINLINKAGE | Osi_getColName (void *osi, int i, char *name, int maxLen) |
| Returns column name in OsiSolverInterface object. More... | |
| COINLIBAPI const double *COINLINKAGE | Osi_getColLower (void *osi) |
| Returns column lower bounds in OsiSolverInterface object. More... | |
| COINLIBAPI const double *COINLINKAGE | Osi_getColUpper (void *osi) |
| Returns column upper bounds in OsiSolverInterface object. More... | |
| COINLIBAPI int COINLINKAGE | Osi_isInteger (void *osi, int col) |
| Returns integrality information for columns in OsiSolverInterface object. More... | |
| COINLIBAPI int COINLINKAGE | Osi_getNumRows (void *osi) |
| Returns number of rows in OsiSolverInterface object. More... | |
| COINLIBAPI int COINLINKAGE | Osi_getRowNz (void *osi, int row) |
| Returns number of cols in OsiSolverInterface object. More... | |
| COINLIBAPI const int *COINLINKAGE | Osi_getRowIndices (void *osi, int row) |
| Indices of variables that appear on a row. More... | |
| COINLIBAPI const double *COINLINKAGE | Osi_getRowCoeffs (void *osi, int row) |
| Coefficients of variables that appear on this row. More... | |
| COINLIBAPI double COINLINKAGE | Osi_getRowRHS (void *osi, int row) |
| Right hand side of a row. More... | |
| COINLIBAPI char COINLINKAGE | Osi_getRowSense (void *osi, int row) |
| Sense a row. More... | |
| COINLIBAPI const double *COINLINKAGE | Osi_getColSolution (void *osi) |
| Returns solution vector in OsiSolverInterface object. More... | |
OsiCuts related routines (used in callbacks) | |
| COINLIBAPI void COINLINKAGE | OsiCuts_addRowCut (void *osiCuts, int nz, const int *idx, const double *coef, char sense, double rhs) |
| adds a row cut (used in callback) More... | |
| COINLIBAPI const char* COINLINKAGE Cbc_getVersion | ( | void | ) |
Current version of Cbc.
| COINLIBAPI Cbc_Model* COINLINKAGE Cbc_newModel | ( | void | ) |
Creates an empty problem.
| COINLIBAPI int COINLINKAGE Cbc_setProblemName | ( | Cbc_Model * | model, |
| const char * | array | ||
| ) |
Sets problem name.
| model | problem object |
| array | string with problem name |
| COINLIBAPI void COINLINKAGE Cbc_addCol | ( | Cbc_Model * | model, |
| const char * | name, | ||
| double | lb, | ||
| double | ub, | ||
| double | obj, | ||
| char | isInteger, | ||
| int | nz, | ||
| int * | rows, | ||
| double * | coefs | ||
| ) |
Creates a new column.
Creates a new column (variable)
| model | problem object |
| name | variable name |
| lb | column lower bound |
| ub | column upper bound |
| obj | objective function coefficient |
| isInteger | 1 if variable is integral, 0 otherwise |
| nz | number of rows (constraints) where this column appears, can be 0 if constraints will be added later |
| rows | index of rows where this column appears, NULL if rows will be added later |
| coefs | coefficients that this column appears in its rows, NULL if rows will be added later |
| COINLIBAPI void COINLINKAGE Cbc_addRow | ( | Cbc_Model * | model, |
| const char * | name, | ||
| int | nz, | ||
| const int * | cols, | ||
| const double * | coefs, | ||
| char | sense, | ||
| double | rhs | ||
| ) |
Adds a new row.
Adds a new row (linear constraint) to the problem
| model | problem object |
| name | constraint name |
| nz | number of variables with non-zero coefficients in this row |
| cols | index of variables that appear in this row |
| coefs | cofficients that that variables appear |
| sense | constraint sense: L if <=, G if >=, E if =, R if ranged and N if free |
| rhs | right hand size |
| COINLIBAPI void COINLINKAGE Cbc_addSOS | ( | Cbc_Model * | model, |
| int | numRows, | ||
| const int * | rowStarts, | ||
| const int * | colIndices, | ||
| const double * | weights, | ||
| const int | type | ||
| ) |
Add SOS constraints to the model using row-order matrix.
| COINLIBAPI void COINLINKAGE Cbc_loadProblem | ( | Cbc_Model * | model, |
| const int | numcols, | ||
| const int | numrows, | ||
| const CoinBigIndex * | start, | ||
| const int * | index, | ||
| const double * | value, | ||
| const double * | collb, | ||
| const double * | colub, | ||
| const double * | obj, | ||
| const double * | rowlb, | ||
| const double * | rowub | ||
| ) |
Loads a problem (the constraints on the rows are given by lower and upper bounds).
If a pointer is NULL then the following values are the default:
colub: all columns have upper bound infinity collb: all columns have lower bound 0 rowub: all rows have upper bound infinity rowlb: all rows have lower bound -infinity obj: all variables have 0 objective coefficient The constraint matrix is given in standard compressed sparse column (without gaps).
start[i] stores the starting index of the ith column index[k] stores the row index of the kth nonzero element value[k] stores the coefficient of the kth nonzero element | COINLIBAPI void COINLINKAGE Cbc_setColName | ( | Cbc_Model * | model, |
| int | iColumn, | ||
| const char * | name | ||
| ) |
Set the name of a column.
| model | problem object |
| iColumn | column index |
| column | name |
| COINLIBAPI void COINLINKAGE Cbc_setRowName | ( | Cbc_Model * | model, |
| int | iRow, | ||
| const char * | name | ||
| ) |
Set the name of a row.
| model | problem object |
| iRow | row index |
| name | row name |
| COINLIBAPI void COINLINKAGE Cbc_setObjSense | ( | Cbc_Model * | model, |
| double | sense | ||
| ) |
Sets optimization direction.
| model | problem object |
| sense,: | direction of optimization (1 - minimize, -1 - maximize, 0 - ignore) |
| COINLIBAPI void COINLINKAGE Cbc_setRowLower | ( | Cbc_Model * | model, |
| int | index, | ||
| double | value | ||
| ) |
Set the lower bound of a single constraint.
| model | problem object |
| index | row index |
| value | new row lower bound |
| COINLIBAPI void COINLINKAGE Cbc_setRowUpper | ( | Cbc_Model * | model, |
| int | index, | ||
| double | value | ||
| ) |
Set the upper bound of a single constraint.
| model | problem object |
| index | row index |
| value | new row upper bound |
| COINLIBAPI void COINLINKAGE Cbc_setObjCoeff | ( | Cbc_Model * | model, |
| int | index, | ||
| double | value | ||
| ) |
Set the objective coefficient of a single variable.
| model | problem object |
| index | variable index |
| value | new objective function coefficient for this variable |
| COINLIBAPI void COINLINKAGE Cbc_setColLower | ( | Cbc_Model * | model, |
| int | index, | ||
| double | value | ||
| ) |
Set the lower bound of a single variable.
| model | problem object |
| index | variable index |
| value | variable lower bound |
| COINLIBAPI void COINLINKAGE Cbc_setColUpper | ( | Cbc_Model * | model, |
| int | index, | ||
| double | value | ||
| ) |
Set the upper bound of a single variable.
| model | problem object |
| index | variable index |
| value | new variable upper bound |
| COINLIBAPI void COINLINKAGE Cbc_setContinuous | ( | Cbc_Model * | model, |
| int | iColumn | ||
| ) |
Set this variable to be continuous.
| model | problem object |
| iColumn | column index |
| COINLIBAPI void COINLINKAGE Cbc_setInteger | ( | Cbc_Model * | model, |
| int | iColumn | ||
| ) |
Set this variable to be integer.
| model | problem object |
| iColumn | column index |
| COINLIBAPI void COINLINKAGE Cbc_deleteModel | ( | Cbc_Model * | model | ) |
Cbc_Model destructor.
| COINLIBAPI void COINLINKAGE Cbc_setMIPStart | ( | Cbc_Model * | model, |
| int | count, | ||
| const char ** | colNames, | ||
| const double | colValues[] | ||
| ) |
Enter initial feasible solution.
Enter an initial feasible solution. Only the non-zero main binary/integer decision variables need to be informed. Auxiliary and/or continuous variables are computed automatically.
| model | problem object |
| count | number of variables |
| colNames | names of variables |
| colValues | variable values |
| COINLIBAPI void COINLINKAGE Cbc_setMIPStartI | ( | Cbc_Model * | model, |
| int | count, | ||
| const int | colIdxs[], | ||
| const double | colValues[] | ||
| ) |
Enter initial feasible solution.
Enter an initial feasible solution. Only the non-zero main binary/integer decision variables need to be informed. Auxiliary and/or continuous variables are computed automatically. Same as setMIPStart but using variable indexes.
| model | problem object |
| count | number of variables |
| colIdxs | indexes of variables |
| colValues | variable values |
| COINLIBAPI Cbc_Model* COINLINKAGE Cbc_clone | ( | Cbc_Model * | model | ) |
Creates a copy of the current model.
| model | problem object |
| COINLIBAPI void COINLINKAGE Cbc_problemName | ( | Cbc_Model * | model, |
| int | maxNumberCharacters, | ||
| char * | array | ||
| ) |
Queries problem name.
| model | problem object |
| maxNumberCharacters | space in string array |
| array | string where problem name will be saved |
| COINLIBAPI int COINLINKAGE Cbc_getNumElements | ( | Cbc_Model * | model | ) |
Number of nonzero elements in constraint matrix.
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_getNumCols | ( | Cbc_Model * | model | ) |
Number of variables in the model.
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_getNumIntegers | ( | Cbc_Model * | model | ) |
Number of integer variables in the model.
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_getNumRows | ( | Cbc_Model * | model | ) |
Number of constraints in the model.
| model | problem object |
| COINLIBAPI void COINLINKAGE Cbc_getRowName | ( | Cbc_Model * | model, |
| int | iRow, | ||
| char * | name, | ||
| size_t | maxLength | ||
| ) |
Queries row name.
| model | problem object |
| row | index |
| name | string where row name will be stored |
| string | where row name will be stored |
| COINLIBAPI void COINLINKAGE Cbc_getColName | ( | Cbc_Model * | model, |
| int | iColumn, | ||
| char * | name, | ||
| size_t | maxLength | ||
| ) |
Queries column name.
| model | problem object |
| iColumn | column index |
| name | where name will be stored |
| maxLength | maximum length of name string |
| COINLIBAPI int COINLINKAGE Cbc_getRowNz | ( | Cbc_Model * | model, |
| int | row | ||
| ) |
Number of non-zero entries in a row.
| model | problem object |
| row | row index |
| COINLIBAPI const int* COINLINKAGE Cbc_getRowIndices | ( | Cbc_Model * | model, |
| int | row | ||
| ) |
Indices of variables that appear on a row.
| model | problem object |
| row | row index |
| COINLIBAPI const double* COINLINKAGE Cbc_getRowCoeffs | ( | Cbc_Model * | model, |
| int | row | ||
| ) |
Coefficients of variables that appear on this row.
| model | problem object |
| row | row index |
| COINLIBAPI int COINLINKAGE Cbc_getColNz | ( | Cbc_Model * | model, |
| int | col | ||
| ) |
Number of non-zero entries in a column.
| model | problem object |
| col | column index |
| COINLIBAPI const int* COINLINKAGE Cbc_getColIndices | ( | Cbc_Model * | model, |
| int | col | ||
| ) |
Indices of rows that a column appears.
| model | problem object |
| col | column index |
| COINLIBAPI const double* COINLINKAGE Cbc_getColCoeffs | ( | Cbc_Model * | model, |
| int | col | ||
| ) |
Coefficients that a column appear in rows.
| model | problem object |
| col | column index |
| COINLIBAPI double COINLINKAGE Cbc_getRowRHS | ( | Cbc_Model * | model, |
| int | row | ||
| ) |
Right hand side of a row.
| model | problem object |
| row | row index |
| COINLIBAPI char COINLINKAGE Cbc_getRowSense | ( | Cbc_Model * | model, |
| int | row | ||
| ) |
Sense a row.
| model | problem object |
| row | row index |
| COINLIBAPI double COINLINKAGE Cbc_getObjSense | ( | Cbc_Model * | model | ) |
Direction of optimization.
| model | problem object |
| COINLIBAPI const double* COINLINKAGE Cbc_getRowLower | ( | Cbc_Model * | model | ) |
Constraint lower bounds.
| model | problem object |
| COINLIBAPI const double* COINLINKAGE Cbc_getRowUpper | ( | Cbc_Model * | model | ) |
Constraint upper bounds.
| model | problem object |
| COINLIBAPI const double* COINLINKAGE Cbc_getObjCoefficients | ( | Cbc_Model * | model | ) |
Objective vector.
| model | problem object |
| COINLIBAPI const double* COINLINKAGE Cbc_getColLower | ( | Cbc_Model * | model | ) |
Variable lower bounds.
| model | problem object |
| COINLIBAPI const double* COINLINKAGE Cbc_getColUpper | ( | Cbc_Model * | model | ) |
Variable upper bounds.
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_isInteger | ( | Cbc_Model * | model, |
| int | i | ||
| ) |
Determine whether the ith variable is integer restricted.
| model | problem object |
| i | variable index |
| COINLIBAPI int COINLINKAGE Cbc_readMps | ( | Cbc_Model * | model, |
| const char * | filename | ||
| ) |
Read an mps file from the given filename.
| model | problem object |
| fileName | file name |
| COINLIBAPI int COINLINKAGE Cbc_readLp | ( | Cbc_Model * | model, |
| const char * | filename | ||
| ) |
Read an lp file from the given filename.
| model | problem object |
| fileName | file name |
| COINLIBAPI void COINLINKAGE Cbc_writeMps | ( | Cbc_Model * | model, |
| const char * | filename | ||
| ) |
Write an mps file from the given filename.
| model | problem object |
| fileName | file name |
| COINLIBAPI void COINLINKAGE Cbc_writeLp | ( | Cbc_Model * | model, |
| const char * | filename | ||
| ) |
Write an lp file from the given filename.
| model | problem object |
| fileName | file name |
| COINLIBAPI void COINLINKAGE Cbc_setInitialSolution | ( | Cbc_Model * | model, |
| const double * | sol | ||
| ) |
Provide an initial feasible solution to accelerate branch-and-bound Note that feasibility of the solution is not verified.
| COINLIBAPI const CoinBigIndex* COINLINKAGE Cbc_getVectorStarts | ( | Cbc_Model * | model | ) |
"Column start" vector of constraint matrix.
Same format as Cbc_loadProblem()
| COINLIBAPI const int* COINLINKAGE Cbc_getIndices | ( | Cbc_Model * | model | ) |
"Row index" vector of constraint matrix
| COINLIBAPI const double* COINLINKAGE Cbc_getElements | ( | Cbc_Model * | model | ) |
Coefficient vector of constraint matrix.
| COINLIBAPI size_t COINLINKAGE Cbc_maxNameLength | ( | Cbc_Model * | model | ) |
Maximum lenght of a row or column name.
| COINLIBAPI void COINLINKAGE Cbc_printModel | ( | Cbc_Model * | model, |
| const char * | argPrefix | ||
| ) |
Print the model.
| COINLIBAPI void COINLINKAGE Cbc_setParameter | ( | Cbc_Model * | model, |
| const char * | name, | ||
| const char * | value | ||
| ) |
Set parameter "name" to value "value".
Note that this translates directly to using "-name value" as a command-line argument to Cbc.
| COINLIBAPI double COINLINKAGE Cbc_getAllowableGap | ( | Cbc_Model * | model | ) |
returns the allowable gap
| COINLIBAPI void COINLINKAGE Cbc_setAllowableGap | ( | Cbc_Model * | model, |
| double | allowedGap | ||
| ) |
sets the allowable gap
| COINLIBAPI double COINLINKAGE Cbc_getAllowableFractionGap | ( | Cbc_Model * | model | ) |
returns the allowable fraction gap
| COINLIBAPI void COINLINKAGE Cbc_setAllowableFractionGap | ( | Cbc_Model * | model, |
| double | allowedFracionGap | ||
| ) |
sets the allowable fraction gap
| COINLIBAPI double COINLINKAGE Cbc_getAllowablePercentageGap | ( | Cbc_Model * | model | ) |
returns the allowable percentage gap
| COINLIBAPI void COINLINKAGE Cbc_setAllowablePercentageGap | ( | Cbc_Model * | model, |
| double | allowedPercentageGap | ||
| ) |
sets the allowable percentage gap
| COINLIBAPI double COINLINKAGE Cbc_getMaximumSeconds | ( | Cbc_Model * | model | ) |
returns the time limit for the search process
| COINLIBAPI void COINLINKAGE Cbc_setMaximumSeconds | ( | Cbc_Model * | model, |
| double | maxSeconds | ||
| ) |
sets the time limit for the search process
| COINLIBAPI int COINLINKAGE Cbc_getMaximumNodes | ( | Cbc_Model * | model | ) |
returns the maximum number of nodes that can be explored in the search tree
| COINLIBAPI void COINLINKAGE Cbc_setMaximumNodes | ( | Cbc_Model * | model, |
| int | maxNodes | ||
| ) |
sets the maximum number of nodes that can be explored in the search tree
| COINLIBAPI int COINLINKAGE Cbc_getMaximumSolutions | ( | Cbc_Model * | model | ) |
returns solution limit for the search process
| COINLIBAPI void COINLINKAGE Cbc_setMaximumSolutions | ( | Cbc_Model * | model, |
| int | maxSolutions | ||
| ) |
sets a solution limit as a stopping criterion
| COINLIBAPI int COINLINKAGE Cbc_getLogLevel | ( | Cbc_Model * | model | ) |
returns the current log leven
| COINLIBAPI void COINLINKAGE Cbc_setLogLevel | ( | Cbc_Model * | model, |
| int | logLevel | ||
| ) |
sets the log level
| COINLIBAPI double COINLINKAGE Cbc_getCutoff | ( | Cbc_Model * | model | ) |
returns the cutoff
| COINLIBAPI void COINLINKAGE Cbc_setCutoff | ( | Cbc_Model * | model, |
| double | cutoff | ||
| ) |
sets the cutoff
| COINLIBAPI void COINLINKAGE Cbc_registerCallBack | ( | Cbc_Model * | model, |
| cbc_callback | userCallBack | ||
| ) |
Pass in Callback function.
Message numbers up to 1000000 are Clp, Coin ones have 1000000 added
| COINLIBAPI void COINLINKAGE Cbc_clearCallBack | ( | Cbc_Model * | model | ) |
Unset Callback function.
| COINLIBAPI void COINLINKAGE Cbc_addCutCallback | ( | Cbc_Model * | model, |
| cbc_cut_callback | cutcb, | ||
| const char * | name, | ||
| void * | appData | ||
| ) |
Pass in Callback function.
Message numbers up to 1000000 are Clp, Coin ones have 1000000 added
| COINLIBAPI int COINLINKAGE Cbc_solve | ( | Cbc_Model * | model | ) |
| COINLIBAPI const double* COINLINKAGE Cbc_getColSolution | ( | Cbc_Model * | model | ) |
Best feasible solution vector.
| model | problem object |
| COINLIBAPI double COINLINKAGE Cbc_getBestPossibleObjValue | ( | Cbc_Model * | model | ) |
Best known bound on the optimal objective value.
| model | problem object |
| COINLIBAPI double* COINLINKAGE Cbc_bestSolution | ( | Cbc_Model * | model | ) |
Best integer feasible solution.
Best integer feasible solution or NULL if no integer feas sol found
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_numberSavedSolutions | ( | Cbc_Model * | model | ) |
number of integer feasible solution saved
| model | problem object |
| COINLIBAPI const double* COINLINKAGE Cbc_savedSolution | ( | Cbc_Model * | model, |
| int | whichSol | ||
| ) |
Vector with the i-th saved solution.
| model | problem object |
| whichSol | index of the solution to be retrieved |
| COINLIBAPI double COINLINKAGE Cbc_savedSolutionObj | ( | Cbc_Model * | model, |
| int | whichSol | ||
| ) |
Cost of the whichSol solution.
| model | problem object |
| whichSol | solution index |
| COINLIBAPI const double* COINLINKAGE Cbc_getReducedCost | ( | Cbc_Model * | model | ) |
Queries vector of reduced costs.
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_isAbandoned | ( | Cbc_Model * | model | ) |
If optimization was abandoned due to numerical difficulties.
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_isProvenOptimal | ( | Cbc_Model * | model | ) |
If the optimal solution was found.
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_isProvenInfeasible | ( | Cbc_Model * | model | ) |
If infeasibility was proven.
If model is infeasible, please note that infeasibility can also be declared if cutoff is informed and no solution better than the cutoff exists.
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_isContinuousUnbounded | ( | Cbc_Model * | model | ) |
Is continuous model unbounded ?
| model | problem object |
| COINLIBAPI double COINLINKAGE Cbc_getObjValue | ( | Cbc_Model * | model | ) |
Objective value of best feasible solution.
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_status | ( | Cbc_Model * | model | ) |
Final optimization status.
Returns the optimization status. For more info check function isProvenOptimal, isProvenInfeasible, etc. Check also secondary status. Possible status are:
-1 before branchAndBound 0 finished - check isProvenOptimal or isProvenInfeasible to see if solution found (or check value of best solution) 1 stopped - on maxnodes, maxsols, maxtime 2 execution abandoned due to numerical dificulties 5 user programmed interruption
| model | problem object |
| COINLIBAPI int COINLINKAGE Cbc_secondaryStatus | ( | Cbc_Model * | model | ) |
Secondary status of problem.
Returns additional information regarding the optimization status
-1 unset (status_ will also be -1) 0 search completed with solution 1 linear relaxation not feasible (or worse than cutoff) 2 stopped on gap 3 stopped on nodes 4 stopped on time 5 stopped on user event 6 stopped on solutions 7 linear relaxation unbounded 8 stopped on iteration limit
problem object
| COINLIBAPI double COINLINKAGE Cbc_sumPrimalInfeasibilities | ( | Cbc_Model * | model | ) |
Sum of primal infeasibilities.
| COINLIBAPI int COINLINKAGE Cbc_numberPrimalInfeasibilities | ( | Cbc_Model * | model | ) |
Number of primal infeasibilities.
| COINLIBAPI void COINLINKAGE Cbc_checkSolution | ( | Cbc_Model * | model | ) |
Just check solution (for external use) - sets sum of infeasibilities etc.
| COINLIBAPI int COINLINKAGE Cbc_getIterationCount | ( | Cbc_Model * | model | ) |
Number of iterations.
| COINLIBAPI int COINLINKAGE Cbc_isNodeLimitReached | ( | Cbc_Model * | model | ) |
Node limit reached?
| COINLIBAPI int COINLINKAGE Cbc_isSecondsLimitReached | ( | Cbc_Model * | model | ) |
Time limit reached?
| COINLIBAPI int COINLINKAGE Cbc_isSolutionLimitReached | ( | Cbc_Model * | model | ) |
Solution limit reached?
| COINLIBAPI int COINLINKAGE Cbc_isInitialSolveAbandoned | ( | Cbc_Model * | model | ) |
Are there numerical difficulties (for initialSolve) ?
| COINLIBAPI int COINLINKAGE Cbc_isInitialSolveProvenOptimal | ( | Cbc_Model * | model | ) |
Is optimality proven (for initialSolve) ?
| COINLIBAPI int COINLINKAGE Cbc_isInitialSolveProvenPrimalInfeasible | ( | Cbc_Model * | model | ) |
Is primal infeasiblity proven (for initialSolve) ?
| COINLIBAPI const double* COINLINKAGE Cbc_getRowActivity | ( | Cbc_Model * | model | ) |
"row" solution This is the vector A*x, where A is the constraint matrix and x is the current solution.
| COINLIBAPI int COINLINKAGE Cbc_getNodeCount | ( | Cbc_Model * | model | ) |
Number of nodes explored in B&B tree.
| COINLIBAPI void COINLINKAGE Cbc_printSolution | ( | Cbc_Model * | model | ) |
Print the solution.
| COINLIBAPI int COINLINKAGE Osi_getNumCols | ( | void * | osi | ) |
Returns number of cols in OsiSolverInterface object.
| COINLIBAPI void COINLINKAGE Osi_getColName | ( | void * | osi, |
| int | i, | ||
| char * | name, | ||
| int | maxLen | ||
| ) |
Returns column name in OsiSolverInterface object.
| COINLIBAPI const double* COINLINKAGE Osi_getColLower | ( | void * | osi | ) |
Returns column lower bounds in OsiSolverInterface object.
| COINLIBAPI const double* COINLINKAGE Osi_getColUpper | ( | void * | osi | ) |
Returns column upper bounds in OsiSolverInterface object.
| COINLIBAPI int COINLINKAGE Osi_isInteger | ( | void * | osi, |
| int | col | ||
| ) |
Returns integrality information for columns in OsiSolverInterface object.
| COINLIBAPI int COINLINKAGE Osi_getNumRows | ( | void * | osi | ) |
Returns number of rows in OsiSolverInterface object.
| COINLIBAPI int COINLINKAGE Osi_getRowNz | ( | void * | osi, |
| int | row | ||
| ) |
Returns number of cols in OsiSolverInterface object.
| COINLIBAPI const int* COINLINKAGE Osi_getRowIndices | ( | void * | osi, |
| int | row | ||
| ) |
Indices of variables that appear on a row.
| COINLIBAPI const double* COINLINKAGE Osi_getRowCoeffs | ( | void * | osi, |
| int | row | ||
| ) |
Coefficients of variables that appear on this row.
| model | problem object |
| row | row index |
| COINLIBAPI double COINLINKAGE Osi_getRowRHS | ( | void * | osi, |
| int | row | ||
| ) |
Right hand side of a row.
| model | problem object |
| row | row index |
| COINLIBAPI char COINLINKAGE Osi_getRowSense | ( | void * | osi, |
| int | row | ||
| ) |
Sense a row.
| model | problem object |
| row | row index |
| COINLIBAPI const double* COINLINKAGE Osi_getColSolution | ( | void * | osi | ) |
Returns solution vector in OsiSolverInterface object.
| COINLIBAPI void COINLINKAGE OsiCuts_addRowCut | ( | void * | osiCuts, |
| int | nz, | ||
| const int * | idx, | ||
| const double * | coef, | ||
| char | sense, | ||
| double | rhs | ||
| ) |
adds a row cut (used in callback)
1.8.5