Go to the documentation of this file.
12 #include "Coin_C_defines.h"
32 COINLIBAPI Cbc_Model *COINLINKAGE
40 COINLIBAPI
int COINLINKAGE
57 COINLIBAPI
void COINLINKAGE
58 Cbc_addCol(Cbc_Model *model,
const char *name,
double lb,
59 double ub,
double obj,
char isInteger,
60 int nz,
int *rows,
double *coefs);
74 COINLIBAPI
void COINLINKAGE
75 Cbc_addRow(Cbc_Model *model,
const char *name,
int nz,
76 const int *cols,
const double *coefs,
char sense,
double rhs);
79 COINLIBAPI
void COINLINKAGE
80 Cbc_addSOS(Cbc_Model *model,
int numRows,
const int *rowStarts,
81 const int *colIndices,
const double *weights,
const int type);
102 COINLIBAPI
void COINLINKAGE
103 Cbc_loadProblem(Cbc_Model *model,
const int numcols,
const int numrows,
104 const CoinBigIndex *start,
const int *index,
106 const double *collb,
const double *colub,
108 const double *rowlb,
const double *rowub);
116 COINLIBAPI
void COINLINKAGE
125 COINLIBAPI
void COINLINKAGE
133 COINLIBAPI
void COINLINKAGE
142 COINLIBAPI
void COINLINKAGE
151 COINLIBAPI
void COINLINKAGE
160 COINLIBAPI
void COINLINKAGE
169 COINLIBAPI
void COINLINKAGE
178 COINLIBAPI
void COINLINKAGE
186 COINLIBAPI
void COINLINKAGE
194 COINLIBAPI
void COINLINKAGE
198 COINLIBAPI
void COINLINKAGE
214 COINLIBAPI
void COINLINKAGE
215 Cbc_setMIPStart(Cbc_Model *model,
int count,
const char **colNames,
const double colValues[]);
230 COINLIBAPI
void COINLINKAGE
231 Cbc_setMIPStartI(Cbc_Model *model,
int count,
const int colIdxs[],
const double colValues[]);
238 COINLIBAPI Cbc_Model *COINLINKAGE
253 COINLIBAPI
void COINLINKAGE
254 Cbc_problemName(Cbc_Model *model,
int maxNumberCharacters,
char *array);
261 COINLIBAPI
int COINLINKAGE
268 COINLIBAPI
int COINLINKAGE
276 COINLIBAPI
int COINLINKAGE
283 COINLIBAPI
int COINLINKAGE
293 COINLIBAPI
void COINLINKAGE
294 Cbc_getRowName(Cbc_Model *model,
int iRow,
char *name,
size_t maxLength);
303 COINLIBAPI
void COINLINKAGE
304 Cbc_getColName(Cbc_Model *model,
int iColumn,
char *name,
size_t maxLength);
312 COINLIBAPI
int COINLINKAGE
321 COINLIBAPI
const int *COINLINKAGE
330 COINLIBAPI
const double *COINLINKAGE
339 COINLIBAPI
int COINLINKAGE
348 COINLIBAPI
const int *COINLINKAGE
357 COINLIBAPI
const double *COINLINKAGE
366 COINLIBAPI
double COINLINKAGE
374 COINLIBAPI
char COINLINKAGE
382 COINLIBAPI
double COINLINKAGE
390 COINLIBAPI
const double *COINLINKAGE
398 COINLIBAPI
const double *COINLINKAGE
406 COINLIBAPI
const double *COINLINKAGE
414 COINLIBAPI
const double *COINLINKAGE
422 COINLIBAPI
const double *COINLINKAGE
431 COINLIBAPI
int COINLINKAGE
446 COINLIBAPI
int COINLINKAGE
447 Cbc_readMps(Cbc_Model *model,
const char *filename);
454 COINLIBAPI
int COINLINKAGE
455 Cbc_readLp(Cbc_Model *model,
const char *filename);
462 COINLIBAPI
void COINLINKAGE
470 COINLIBAPI
void COINLINKAGE
471 Cbc_writeLp(Cbc_Model *model,
const char *filename);
488 COINLIBAPI
void COINLINKAGE
491 COINLIBAPI
const CoinBigIndex *COINLINKAGE
494 COINLIBAPI
const int *COINLINKAGE
497 COINLIBAPI
const double *COINLINKAGE
501 COINLIBAPI
size_t COINLINKAGE
504 COINLIBAPI
void COINLINKAGE
513 COINLIBAPI
void COINLINKAGE
519 COINLIBAPI
double COINLINKAGE
524 COINLIBAPI
void COINLINKAGE
529 COINLIBAPI
double COINLINKAGE
534 COINLIBAPI
void COINLINKAGE
539 COINLIBAPI
double COINLINKAGE
544 COINLIBAPI
void COINLINKAGE
549 COINLIBAPI
double COINLINKAGE
554 COINLIBAPI
void COINLINKAGE
560 COINLIBAPI
int COINLINKAGE
565 COINLIBAPI
void COINLINKAGE
570 COINLIBAPI
int COINLINKAGE
575 COINLIBAPI
void COINLINKAGE
580 COINLIBAPI
int COINLINKAGE
585 COINLIBAPI
void COINLINKAGE
591 COINLIBAPI
double COINLINKAGE
596 COINLIBAPI
void COINLINKAGE
606 COINLIBAPI
void COINLINKAGE
608 cbc_callback userCallBack);
611 COINLIBAPI
void COINLINKAGE
615 Cbc_Model *model, cbc_cut_callback cutcb,
616 const char *name,
void *appData );
624 COINLIBAPI
int COINLINKAGE
636 COINLIBAPI
const double *COINLINKAGE
645 COINLIBAPI
double COINLINKAGE
655 COINLIBAPI
double *COINLINKAGE
663 COINLIBAPI
int COINLINKAGE
672 COINLIBAPI
const double *COINLINKAGE
681 COINLIBAPI
double COINLINKAGE
689 COINLIBAPI
const double *COINLINKAGE
697 COINLIBAPI
int COINLINKAGE
705 COINLIBAPI
int COINLINKAGE
716 COINLIBAPI
int COINLINKAGE
724 COINLIBAPI
int COINLINKAGE
732 COINLIBAPI
double COINLINKAGE
750 COINLIBAPI
int COINLINKAGE
Cbc_status(Cbc_Model *model);
770 COINLIBAPI
int COINLINKAGE
774 COINLIBAPI
double COINLINKAGE
778 COINLIBAPI
int COINLINKAGE
783 COINLIBAPI
void COINLINKAGE
787 COINLIBAPI
int COINLINKAGE
791 COINLIBAPI
int COINLINKAGE
794 COINLIBAPI
int COINLINKAGE
797 COINLIBAPI
int COINLINKAGE
800 COINLIBAPI
int COINLINKAGE
803 COINLIBAPI
int COINLINKAGE
806 COINLIBAPI
int COINLINKAGE
811 COINLIBAPI
const double *COINLINKAGE
814 COINLIBAPI
int COINLINKAGE
817 COINLIBAPI
void COINLINKAGE
826 COINLIBAPI
int COINLINKAGE
830 COINLIBAPI
void COINLINKAGE
834 COINLIBAPI
const double * COINLINKAGE
838 COINLIBAPI
const double * COINLINKAGE
842 COINLIBAPI
int COINLINKAGE
846 COINLIBAPI
int COINLINKAGE
849 COINLIBAPI
int COINLINKAGE
853 COINLIBAPI
const int *COINLINKAGE
862 COINLIBAPI
const double *COINLINKAGE
871 COINLIBAPI
double COINLINKAGE
879 COINLIBAPI
char COINLINKAGE
883 COINLIBAPI
const double * COINLINKAGE
893 COINLIBAPI
void COINLINKAGE
894 OsiCuts_addRowCut(
void *osiCuts,
int nz,
const int *idx,
const double *coef,
char sense,
double rhs );
COINLIBAPI int COINLINKAGE Cbc_readMps(Cbc_Model *model, const char *filename)
Read an mps file from the given filename.
COINLIBAPI int COINLINKAGE Cbc_getNumRows(Cbc_Model *model)
Number of constraints in the model.
COINLIBAPI double COINLINKAGE Osi_getRowRHS(void *osi, int row)
Right hand side of a row.
const COINLIBAPI int *COINLINKAGE Cbc_getRowIndices(Cbc_Model *model, int row)
Indices of variables that appear on a row.
COINLIBAPI void COINLINKAGE Cbc_setAllowableGap(Cbc_Model *model, double allowedGap)
sets the allowable gap
const COINLIBAPI double *COINLINKAGE Cbc_getRowCoeffs(Cbc_Model *model, int row)
Coefficients of variables that appear on this row.
COINLIBAPI void COINLINKAGE Cbc_addCutCallback(Cbc_Model *model, cbc_cut_callback cutcb, const char *name, void *appData)
COINLIBAPI int COINLINKAGE Osi_getNumRows(void *osi)
Returns number of rows in OsiSolverInterface object.
COINLIBAPI void COINLINKAGE Cbc_setObjSense(Cbc_Model *model, double sense)
Sets optimization direction.
COINLIBAPI int COINLINKAGE Osi_getNumCols(void *osi)
Returns number of cols in OsiSolverInterface object.
COINLIBAPI int COINLINKAGE Cbc_getIterationCount(Cbc_Model *model)
Number of iterations.
COINLIBAPI void COINLINKAGE Cbc_setCutoff(Cbc_Model *model, double cutoff)
sets the cutoff
const COINLIBAPI double *COINLINKAGE Cbc_getRowUpper(Cbc_Model *model)
Constraint upper bounds.
COINLIBAPI void COINLINKAGE Cbc_checkSolution(Cbc_Model *model)
Just check solution (for external use) - sets sum of infeasibilities etc.
COINLIBAPI void COINLINKAGE Osi_getColName(void *osi, int i, char *name, int maxLen)
Returns column name in OsiSolverInterface object.
COINLIBAPI void COINLINKAGE Cbc_setMIPStartI(Cbc_Model *model, int count, const int colIdxs[], const double colValues[])
Enter initial feasible solution.
COINLIBAPI int COINLINKAGE Cbc_isAbandoned(Cbc_Model *model)
If optimization was abandoned due to numerical difficulties.
COINLIBAPI int COINLINKAGE Cbc_getNumCols(Cbc_Model *model)
Number of variables in the model.
COINLIBAPI int COINLINKAGE Cbc_isInitialSolveAbandoned(Cbc_Model *model)
Are there numerical difficulties (for initialSolve) ?
COINLIBAPI void COINLINKAGE Cbc_registerCallBack(Cbc_Model *model, cbc_callback userCallBack)
Pass in Callback function.
COINLIBAPI size_t COINLINKAGE Cbc_maxNameLength(Cbc_Model *model)
Maximum lenght of a row or column name.
COINLIBAPI int COINLINKAGE Cbc_isNodeLimitReached(Cbc_Model *model)
Node limit reached?
COINLIBAPI int COINLINKAGE Cbc_isInitialSolveProvenOptimal(Cbc_Model *model)
Is optimality proven (for initialSolve) ?
const COINLIBAPI double *COINLINKAGE Cbc_getElements(Cbc_Model *model)
Coefficient vector of constraint matrix.
COINLIBAPI void COINLINKAGE Cbc_problemName(Cbc_Model *model, int maxNumberCharacters, char *array)
Queries problem name.
const COINLIBAPI double *COINLINKAGE Cbc_savedSolution(Cbc_Model *model, int whichSol)
Vector with the i-th saved solution.
COINLIBAPI int COINLINKAGE Cbc_getNumElements(Cbc_Model *model)
Number of nonzero elements in constraint matrix.
COINLIBAPI void COINLINKAGE Cbc_setInteger(Cbc_Model *model, int iColumn)
Set this variable to be integer.
const COINLIBAPI double *COINLINKAGE Osi_getColLower(void *osi)
Returns column lower bounds in OsiSolverInterface object.
COINLIBAPI void COINLINKAGE Cbc_setParameter(Cbc_Model *model, const char *name, const char *value)
Set parameter "name" to value "value".
const COINLIBAPI 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 double COINLINKAGE Cbc_getBestPossibleObjValue(Cbc_Model *model)
Best known bound on the optimal objective value.
COINLIBAPI int COINLINKAGE Cbc_setProblemName(Cbc_Model *model, const char *array)
Sets problem name.
COINLIBAPI void COINLINKAGE Cbc_setRowLower(Cbc_Model *model, int index, double value)
Set the lower bound of a single constraint.
COINLIBAPI void COINLINKAGE Cbc_setObjCoeff(Cbc_Model *model, int index, double value)
Set the objective coefficient of a single variable.
COINLIBAPI void COINLINKAGE Cbc_setAllowablePercentageGap(Cbc_Model *model, double allowedPercentageGap)
sets the allowable percentage gap
COINLIBAPI int COINLINKAGE Osi_getRowNz(void *osi, int row)
COINLIBAPI double COINLINKAGE Cbc_getAllowableFractionGap(Cbc_Model *model)
returns the allowable fraction gap
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).
COINLIBAPI void COINLINKAGE Cbc_setColLower(Cbc_Model *model, int index, double value)
Set the lower bound of a single variable.
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.
COINLIBAPI int COINLINKAGE Cbc_secondaryStatus(Cbc_Model *model)
Secondary status of problem.
COINLIBAPI int COINLINKAGE Cbc_numberSavedSolutions(Cbc_Model *model)
number of integer feasible solution saved
COINLIBAPI int COINLINKAGE Cbc_isProvenInfeasible(Cbc_Model *model)
If infeasibility was proven.
COINLIBAPI void COINLINKAGE Cbc_printModel(Cbc_Model *model, const char *argPrefix)
Print the model.
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_setInitialSolution(Cbc_Model *model, const double *sol)
Provide an initial feasible solution to accelerate branch-and-bound Note that feasibility of the solu...
COINLIBAPI Cbc_Model *COINLINKAGE Cbc_newModel(void)
Creates an empty problem.
COINLIBAPI int COINLINKAGE Cbc_getLogLevel(Cbc_Model *model)
returns the current log leven
COINLIBAPI void COINLINKAGE Cbc_deleteModel(Cbc_Model *model)
Cbc_Model destructor.
COINLIBAPI double COINLINKAGE Cbc_getCutoff(Cbc_Model *model)
returns the cutoff
COINLIBAPI void COINLINKAGE Cbc_setLogLevel(Cbc_Model *model, int logLevel)
sets the log level
COINLIBAPI int COINLINKAGE Cbc_isInteger(Cbc_Model *model, int i)
Determine whether the ith variable is integer restricted.
COINLIBAPI double COINLINKAGE Cbc_getAllowablePercentageGap(Cbc_Model *model)
returns the allowable percentage gap
COINLIBAPI int COINLINKAGE Cbc_isInitialSolveProvenPrimalInfeasible(Cbc_Model *model)
Is primal infeasiblity proven (for initialSolve) ?
const COINLIBAPI double *COINLINKAGE Cbc_getColSolution(Cbc_Model *model)
Best feasible solution vector.
const COINLIBAPI int *COINLINKAGE Cbc_getColIndices(Cbc_Model *model, int col)
Indices of rows that a column appears.
COINLIBAPI void COINLINKAGE Cbc_setMaximumSeconds(Cbc_Model *model, double maxSeconds)
sets the time limit for the search process
const COINLIBAPI double *COINLINKAGE Cbc_getColLower(Cbc_Model *model)
Variable lower bounds.
const COINLIBAPI double *COINLINKAGE Osi_getColSolution(void *osi)
Returns solution vector in OsiSolverInterface object.
COINLIBAPI double COINLINKAGE Cbc_getObjSense(Cbc_Model *model)
Direction of optimization.
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)
const COINLIBAPI double *COINLINKAGE Cbc_getColCoeffs(Cbc_Model *model, int col)
Coefficients that a column appear in rows.
COINLIBAPI void COINLINKAGE Cbc_setRowName(Cbc_Model *model, int iRow, const char *name)
Set the name of a row.
const COINLIBAPI int *COINLINKAGE Osi_getRowIndices(void *osi, int row)
Indices of variables that appear on a row.
COINLIBAPI void COINLINKAGE Cbc_clearCallBack(Cbc_Model *model)
Unset Callback function.
COINLIBAPI int COINLINKAGE Cbc_getMaximumNodes(Cbc_Model *model)
returns the maximum number of nodes that can be explored in the search tree
COINLIBAPI int COINLINKAGE Cbc_getRowNz(Cbc_Model *model, int row)
Number of non-zero entries in a row.
COINLIBAPI void COINLINKAGE Cbc_getColName(Cbc_Model *model, int iColumn, char *name, size_t maxLength)
Queries column name.
const COINLIBAPI CoinBigIndex *COINLINKAGE Cbc_getVectorStarts(Cbc_Model *model)
"Column start" vector of constraint matrix.
COINLIBAPI void COINLINKAGE Cbc_setMaximumSolutions(Cbc_Model *model, int maxSolutions)
sets a solution limit as a stopping criterion
COINLIBAPI void COINLINKAGE Cbc_setColName(Cbc_Model *model, int iColumn, const char *name)
Set the name of a column.
COINLIBAPI double COINLINKAGE Cbc_getRowRHS(Cbc_Model *model, int row)
Right hand side of a row.
COINLIBAPI void COINLINKAGE Cbc_setColUpper(Cbc_Model *model, int index, double value)
Set the upper bound of a single variable.
COINLIBAPI char COINLINKAGE Cbc_getRowSense(Cbc_Model *model, int row)
Sense a row.
COINLIBAPI double COINLINKAGE Cbc_sumPrimalInfeasibilities(Cbc_Model *model)
Sum of primal infeasibilities.
COINLIBAPI int COINLINKAGE Cbc_isSolutionLimitReached(Cbc_Model *model)
Solution limit reached?
COINLIBAPI int COINLINKAGE Cbc_isProvenOptimal(Cbc_Model *model)
If the optimal solution was found.
const COINLIBAPI int *COINLINKAGE Cbc_getIndices(Cbc_Model *model)
"Row index" vector of constraint matrix
COINLIBAPI double COINLINKAGE Cbc_getObjValue(Cbc_Model *model)
Objective value of best feasible solution.
COINLIBAPI void COINLINKAGE Cbc_setRowUpper(Cbc_Model *model, int index, double value)
Set the upper bound of a single constraint.
COINLIBAPI void COINLINKAGE Cbc_writeMps(Cbc_Model *model, const char *filename)
Write an mps file from the given filename.
COINLIBAPI void COINLINKAGE Cbc_getRowName(Cbc_Model *model, int iRow, char *name, size_t maxLength)
Queries row name.
COINLIBAPI int COINLINKAGE Cbc_status(Cbc_Model *model)
Final optimization status.
COINLIBAPI double COINLINKAGE Cbc_savedSolutionObj(Cbc_Model *model, int whichSol)
Cost of the whichSol solution.
COINLIBAPI int COINLINKAGE Cbc_numberPrimalInfeasibilities(Cbc_Model *model)
Number of primal infeasibilities.
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.
COINLIBAPI void COINLINKAGE Cbc_writeLp(Cbc_Model *model, const char *filename)
Write an lp file from the given filename.
const COINLIBAPI double *COINLINKAGE Cbc_getColUpper(Cbc_Model *model)
Variable upper bounds.
const COINLIBAPI double *COINLINKAGE Cbc_getRowLower(Cbc_Model *model)
Constraint lower bounds.
COINLIBAPI int COINLINKAGE Osi_isInteger(void *osi, int col)
Returns integrality information for columns in OsiSolverInterface object.
COINLIBAPI int COINLINKAGE Cbc_isSecondsLimitReached(Cbc_Model *model)
Time limit reached?
COINLIBAPI char COINLINKAGE Osi_getRowSense(void *osi, int row)
Sense a row.
COINLIBAPI int COINLINKAGE Cbc_isContinuousUnbounded(Cbc_Model *model)
Is continuous model unbounded ?
COINLIBAPI Cbc_Model *COINLINKAGE Cbc_clone(Cbc_Model *model)
Creates a copy of the current model.
COINLIBAPI int COINLINKAGE Cbc_getMaximumSolutions(Cbc_Model *model)
returns solution limit for the search process
COINLIBAPI void COINLINKAGE Cbc_printSolution(Cbc_Model *model)
Print the solution.
COINLIBAPI double *COINLINKAGE Cbc_bestSolution(Cbc_Model *model)
Best integer feasible solution.
COINLIBAPI void COINLINKAGE Cbc_setContinuous(Cbc_Model *model, int iColumn)
Set this variable to be continuous.
COINLIBAPI void COINLINKAGE Cbc_setAllowableFractionGap(Cbc_Model *model, double allowedFracionGap)
sets the allowable fraction gap
COINLIBAPI void COINLINKAGE Cbc_setMaximumNodes(Cbc_Model *model, int maxNodes)
sets the maximum number of nodes that can be explored in the search tree
const COINLIBAPI char *COINLINKAGE Cbc_getVersion(void)
Current version of Cbc.
COINLIBAPI int COINLINKAGE Cbc_readLp(Cbc_Model *model, const char *filename)
Read an lp file from the given filename.
COINLIBAPI int COINLINKAGE Cbc_getColNz(Cbc_Model *model, int col)
Number of non-zero entries in a column.
const COINLIBAPI double *COINLINKAGE Osi_getColUpper(void *osi)
Returns column upper bounds in OsiSolverInterface object.
const COINLIBAPI double *COINLINKAGE Cbc_getReducedCost(Cbc_Model *model)
Queries vector of reduced costs.
COINLIBAPI double COINLINKAGE Cbc_getAllowableGap(Cbc_Model *model)
returns the allowable gap
const COINLIBAPI double *COINLINKAGE Osi_getRowCoeffs(void *osi, int row)
Coefficients of variables that appear on this row.
COINLIBAPI double COINLINKAGE Cbc_getMaximumSeconds(Cbc_Model *model)
returns the time limit for the search process
COINLIBAPI void COINLINKAGE Cbc_setMIPStart(Cbc_Model *model, int count, const char **colNames, const double colValues[])
Enter initial feasible solution.
COINLIBAPI int COINLINKAGE Cbc_getNodeCount(Cbc_Model *model)
Number of nodes explored in B&B tree.
COINLIBAPI int COINLINKAGE Cbc_solve(Cbc_Model *model)
COINLIBAPI int COINLINKAGE Cbc_getNumIntegers(Cbc_Model *model)
Number of integer variables in the model.
const COINLIBAPI double *COINLINKAGE Cbc_getObjCoefficients(Cbc_Model *model)
Objective vector.