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