Cbc  2.10.10
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Cbc_C_Interface.h
Go to the documentation of this file.
1 /* $Id$ */
2 /*
3  Copyright (C) 2004 International Business Machines Corporation and others.
4  All Rights Reserved.
5 
6  This code is licensed under the terms of the Eclipse Public License (EPL).
7 */
8 #ifndef CbcModelC_H
9 #define CbcModelC_H
10 
11 /* include all defines and ugly stuff */
12 #include "Coin_C_defines.h"
13 #include <stddef.h>
14 
15 /*
16  * Original version contributed by Bob Entriken,
17  * significantly updated by Miles Lubin.
18  * 2018: several updates by Haroldo
19  */
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
26 COINLIBAPI const char *COINLINKAGE Cbc_getVersion(void);
27 
32 COINLIBAPI Cbc_Model *COINLINKAGE
33 Cbc_newModel(void);
34 
40 COINLIBAPI int COINLINKAGE
41 Cbc_setProblemName(Cbc_Model *model, const char *array);
42 
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);
61 
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);
77 
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);
82 
102 COINLIBAPI void COINLINKAGE
103 Cbc_loadProblem(Cbc_Model *model, const int numcols, const int numrows,
104  const CoinBigIndex *start, const int *index,
105  const double *value,
106  const double *collb, const double *colub,
107  const double *obj,
108  const double *rowlb, const double *rowub);
109 
116 COINLIBAPI void COINLINKAGE
117 Cbc_setColName(Cbc_Model *model, int iColumn, const char *name);
118 
125 COINLIBAPI void COINLINKAGE
126 Cbc_setRowName(Cbc_Model *model, int iRow, const char *name);
127 
133 COINLIBAPI void COINLINKAGE
134 Cbc_setObjSense(Cbc_Model *model, double sense);
135 
142 COINLIBAPI void COINLINKAGE
143 Cbc_setRowLower(Cbc_Model *model, int index, double value);
144 
151 COINLIBAPI void COINLINKAGE
152 Cbc_setRowUpper(Cbc_Model *model, int index, double value);
153 
160 COINLIBAPI void COINLINKAGE
161 Cbc_setObjCoeff(Cbc_Model *model, int index, double value);
162 
169 COINLIBAPI void COINLINKAGE
170 Cbc_setColLower(Cbc_Model *model, int index, double value);
171 
178 COINLIBAPI void COINLINKAGE
179 Cbc_setColUpper(Cbc_Model *model, int index, double value);
180 
186 COINLIBAPI void COINLINKAGE
187 Cbc_setContinuous(Cbc_Model *model, int iColumn);
188 
194 COINLIBAPI void COINLINKAGE
195 Cbc_setInteger(Cbc_Model *model, int iColumn);
196 
198 COINLIBAPI void COINLINKAGE
199 Cbc_deleteModel(Cbc_Model *model);
200 
214 COINLIBAPI void COINLINKAGE
215 Cbc_setMIPStart(Cbc_Model *model, int count, const char **colNames, const double colValues[]);
216 
230 COINLIBAPI void COINLINKAGE
231 Cbc_setMIPStartI(Cbc_Model *model, int count, const int colIdxs[], const double colValues[]);
232 
238 COINLIBAPI Cbc_Model *COINLINKAGE
239 Cbc_clone(Cbc_Model *model);
240 
253 COINLIBAPI void COINLINKAGE
254 Cbc_problemName(Cbc_Model *model, int maxNumberCharacters, char *array);
255 
261 COINLIBAPI int COINLINKAGE
262 Cbc_getNumElements(Cbc_Model *model);
263 
268 COINLIBAPI int COINLINKAGE
269 Cbc_getNumCols(Cbc_Model *model);
270 
276 COINLIBAPI int COINLINKAGE
277 Cbc_getNumIntegers(Cbc_Model *model);
278 
283 COINLIBAPI int COINLINKAGE
284 Cbc_getNumRows(Cbc_Model *model);
285 
293 COINLIBAPI void COINLINKAGE
294 Cbc_getRowName(Cbc_Model *model, int iRow, char *name, size_t maxLength);
295 
303 COINLIBAPI void COINLINKAGE
304 Cbc_getColName(Cbc_Model *model, int iColumn, char *name, size_t maxLength);
305 
312 COINLIBAPI int COINLINKAGE
313 Cbc_getRowNz(Cbc_Model *model, int row);
314 
321 COINLIBAPI const int *COINLINKAGE
322 Cbc_getRowIndices(Cbc_Model *model, int row);
323 
330 COINLIBAPI const double *COINLINKAGE
331 Cbc_getRowCoeffs(Cbc_Model *model, int row);
332 
339 COINLIBAPI int COINLINKAGE
340 Cbc_getColNz(Cbc_Model *model, int col);
341 
348 COINLIBAPI const int *COINLINKAGE
349 Cbc_getColIndices(Cbc_Model *model, int col);
350 
357 COINLIBAPI const double *COINLINKAGE
358 Cbc_getColCoeffs(Cbc_Model *model, int col);
359 
366 COINLIBAPI double COINLINKAGE
367 Cbc_getRowRHS(Cbc_Model *model, int row);
368 
374 COINLIBAPI char COINLINKAGE
375 Cbc_getRowSense(Cbc_Model *model, int row);
376 
382 COINLIBAPI double COINLINKAGE
383 Cbc_getObjSense(Cbc_Model *model);
384 
390 COINLIBAPI const double *COINLINKAGE
391 Cbc_getRowLower(Cbc_Model *model);
392 
398 COINLIBAPI const double *COINLINKAGE
399 Cbc_getRowUpper(Cbc_Model *model);
400 
406 COINLIBAPI const double *COINLINKAGE
407 Cbc_getObjCoefficients(Cbc_Model *model);
408 
414 COINLIBAPI const double *COINLINKAGE
415 Cbc_getColLower(Cbc_Model *model);
416 
422 COINLIBAPI const double *COINLINKAGE
423 Cbc_getColUpper(Cbc_Model *model);
424 
431 COINLIBAPI int COINLINKAGE
432 Cbc_isInteger(Cbc_Model *model, int i);
433 
434 
446 COINLIBAPI int COINLINKAGE
447 Cbc_readMps(Cbc_Model *model, const char *filename);
448 
454 COINLIBAPI int COINLINKAGE
455 Cbc_readLp(Cbc_Model *model, const char *filename);
456 
462 COINLIBAPI void COINLINKAGE
463 Cbc_writeMps(Cbc_Model *model, const char *filename);
464 
470 COINLIBAPI void COINLINKAGE
471 Cbc_writeLp(Cbc_Model *model, const char *filename);
472 
488 COINLIBAPI void COINLINKAGE
489 Cbc_setInitialSolution(Cbc_Model *model, const double *sol);
491 COINLIBAPI const CoinBigIndex *COINLINKAGE
492 Cbc_getVectorStarts(Cbc_Model *model);
494 COINLIBAPI const int *COINLINKAGE
495 Cbc_getIndices(Cbc_Model *model);
497 COINLIBAPI const double *COINLINKAGE
498 Cbc_getElements(Cbc_Model *model);
499 
501 COINLIBAPI size_t COINLINKAGE
502 Cbc_maxNameLength(Cbc_Model *model);
504 COINLIBAPI void COINLINKAGE
505 Cbc_printModel(Cbc_Model *model, const char *argPrefix);
513 COINLIBAPI void COINLINKAGE
514 Cbc_setParameter(Cbc_Model *model, const char *name, const char *value);
515 
516 
519 COINLIBAPI double COINLINKAGE
520 Cbc_getAllowableGap(Cbc_Model *model);
521 
524 COINLIBAPI void COINLINKAGE
525 Cbc_setAllowableGap(Cbc_Model *model, double allowedGap);
526 
529 COINLIBAPI double COINLINKAGE
530 Cbc_getAllowableFractionGap(Cbc_Model *model);
531 
534 COINLIBAPI void COINLINKAGE
535 Cbc_setAllowableFractionGap(Cbc_Model *model, double allowedFracionGap);
536 
539 COINLIBAPI double COINLINKAGE
540 Cbc_getAllowablePercentageGap(Cbc_Model *model);
541 
544 COINLIBAPI void COINLINKAGE
545 Cbc_setAllowablePercentageGap(Cbc_Model *model, double allowedPercentageGap);
546 
549 COINLIBAPI double COINLINKAGE
550 Cbc_getMaximumSeconds(Cbc_Model *model);
551 
554 COINLIBAPI void COINLINKAGE
555 Cbc_setMaximumSeconds(Cbc_Model *model, double maxSeconds);
556 
557 
560 COINLIBAPI int COINLINKAGE
561 Cbc_getMaximumNodes(Cbc_Model *model);
562 
565 COINLIBAPI void COINLINKAGE
566 Cbc_setMaximumNodes(Cbc_Model *model, int maxNodes);
567 
570 COINLIBAPI int COINLINKAGE
571 Cbc_getMaximumSolutions(Cbc_Model *model);
572 
575 COINLIBAPI void COINLINKAGE
576 Cbc_setMaximumSolutions(Cbc_Model *model, int maxSolutions);
577 
580 COINLIBAPI int COINLINKAGE
581 Cbc_getLogLevel(Cbc_Model *model);
582 
585 COINLIBAPI void COINLINKAGE
586 Cbc_setLogLevel(Cbc_Model *model, int logLevel);
587 
588 
591 COINLIBAPI double COINLINKAGE
592 Cbc_getCutoff(Cbc_Model *model);
593 
596 COINLIBAPI void COINLINKAGE
597 Cbc_setCutoff(Cbc_Model *model, double cutoff);
598 
599 
600 
606 COINLIBAPI void COINLINKAGE
607 Cbc_registerCallBack(Cbc_Model *model,
608  cbc_callback userCallBack);
609 
611 COINLIBAPI void COINLINKAGE
612 Cbc_clearCallBack(Cbc_Model *model);
613 
614 COINLIBAPI void COINLINKAGE Cbc_addCutCallback(
615  Cbc_Model *model, cbc_cut_callback cutcb,
616  const char *name, void *appData );
617 
622 /* Solve the model with Cbc (using CbcMain1).
623  */
624 COINLIBAPI int COINLINKAGE
625 Cbc_solve(Cbc_Model *model);
636 COINLIBAPI const double *COINLINKAGE
637 Cbc_getColSolution(Cbc_Model *model);
638 
639 
645 COINLIBAPI double COINLINKAGE
646 Cbc_getBestPossibleObjValue(Cbc_Model *model);
647 
655 COINLIBAPI double *COINLINKAGE
656 Cbc_bestSolution(Cbc_Model *model);
657 
663 COINLIBAPI int COINLINKAGE
664 Cbc_numberSavedSolutions(Cbc_Model *model);
665 
672 COINLIBAPI const double *COINLINKAGE
673 Cbc_savedSolution(Cbc_Model *model, int whichSol);
674 
681 COINLIBAPI double COINLINKAGE
682 Cbc_savedSolutionObj(Cbc_Model *model, int whichSol);
683 
689 COINLIBAPI const double *COINLINKAGE
690 Cbc_getReducedCost(Cbc_Model *model);
691 
697 COINLIBAPI int COINLINKAGE
698 Cbc_isAbandoned(Cbc_Model *model);
699 
705 COINLIBAPI int COINLINKAGE
706 Cbc_isProvenOptimal(Cbc_Model *model);
707 
716 COINLIBAPI int COINLINKAGE
717 Cbc_isProvenInfeasible(Cbc_Model *model);
718 
724 COINLIBAPI int COINLINKAGE
725 Cbc_isContinuousUnbounded(Cbc_Model *model);
726 
732 COINLIBAPI double COINLINKAGE
733 Cbc_getObjValue(Cbc_Model *model);
734 
750 COINLIBAPI int COINLINKAGE Cbc_status(Cbc_Model *model);
751 
770 COINLIBAPI int COINLINKAGE
771 Cbc_secondaryStatus(Cbc_Model *model);
772 
774 COINLIBAPI double COINLINKAGE
775 Cbc_sumPrimalInfeasibilities(Cbc_Model *model);
776 
778 COINLIBAPI int COINLINKAGE
779 Cbc_numberPrimalInfeasibilities(Cbc_Model *model);
780 
783 COINLIBAPI void COINLINKAGE
784 Cbc_checkSolution(Cbc_Model *model);
785 
787 COINLIBAPI int COINLINKAGE
788 Cbc_getIterationCount(Cbc_Model *model);
789 
791 COINLIBAPI int COINLINKAGE
792 Cbc_isNodeLimitReached(Cbc_Model *model);
794 COINLIBAPI int COINLINKAGE
795 Cbc_isSecondsLimitReached(Cbc_Model *model);
797 COINLIBAPI int COINLINKAGE
798 Cbc_isSolutionLimitReached(Cbc_Model *model);
800 COINLIBAPI int COINLINKAGE
801 Cbc_isInitialSolveAbandoned(Cbc_Model *model);
803 COINLIBAPI int COINLINKAGE
804 Cbc_isInitialSolveProvenOptimal(Cbc_Model *model);
806 COINLIBAPI int COINLINKAGE
811 COINLIBAPI const double *COINLINKAGE
812 Cbc_getRowActivity(Cbc_Model *model);
814 COINLIBAPI int COINLINKAGE
815 Cbc_getNodeCount(Cbc_Model *model);
817 COINLIBAPI void COINLINKAGE
818 Cbc_printSolution(Cbc_Model *model);
819 
826 COINLIBAPI int COINLINKAGE
827 Osi_getNumCols( void *osi );
828 
830 COINLIBAPI void COINLINKAGE
831 Osi_getColName( void *osi, int i, char *name, int maxLen );
832 
834 COINLIBAPI const double * COINLINKAGE
835 Osi_getColLower( void *osi );
836 
838 COINLIBAPI const double * COINLINKAGE
839 Osi_getColUpper( void *osi );
840 
842 COINLIBAPI int COINLINKAGE
843 Osi_isInteger( void *osi, int col );
844 
846 COINLIBAPI int COINLINKAGE
847 Osi_getNumRows( void *osi );
848 
849 COINLIBAPI int COINLINKAGE
850 Osi_getRowNz(void *osi, int row);
851 
853 COINLIBAPI const int *COINLINKAGE
854 Osi_getRowIndices(void *osi, int row);
855 
862 COINLIBAPI const double *COINLINKAGE
863 Osi_getRowCoeffs(void *osi, int row);
864 
871 COINLIBAPI double COINLINKAGE
872 Osi_getRowRHS(void *osi, int row);
873 
879 COINLIBAPI char COINLINKAGE
880 Osi_getRowSense(void *osi, int row);
881 
883 COINLIBAPI const double * COINLINKAGE
884 Osi_getColSolution( void *osi );
885 
886 
893 COINLIBAPI void COINLINKAGE
894 OsiCuts_addRowCut( void *osiCuts, int nz, const int *idx, const double *coef, char sense, double rhs );
895 
898 #ifdef __cplusplus
899 }
900 #endif
901 #endif
902 
903 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
904 */
Cbc_readMps
COINLIBAPI int COINLINKAGE Cbc_readMps(Cbc_Model *model, const char *filename)
Read an mps file from the given filename.
Cbc_getNumRows
COINLIBAPI int COINLINKAGE Cbc_getNumRows(Cbc_Model *model)
Number of constraints in the model.
Osi_getRowRHS
COINLIBAPI double COINLINKAGE Osi_getRowRHS(void *osi, int row)
Right hand side of a row.
Cbc_getRowIndices
const COINLIBAPI int *COINLINKAGE Cbc_getRowIndices(Cbc_Model *model, int row)
Indices of variables that appear on a row.
Cbc_setAllowableGap
COINLIBAPI void COINLINKAGE Cbc_setAllowableGap(Cbc_Model *model, double allowedGap)
sets the allowable gap
Cbc_getRowCoeffs
const COINLIBAPI double *COINLINKAGE Cbc_getRowCoeffs(Cbc_Model *model, int row)
Coefficients of variables that appear on this row.
Cbc_addCutCallback
COINLIBAPI void COINLINKAGE Cbc_addCutCallback(Cbc_Model *model, cbc_cut_callback cutcb, const char *name, void *appData)
Osi_getNumRows
COINLIBAPI int COINLINKAGE Osi_getNumRows(void *osi)
Returns number of rows in OsiSolverInterface object.
Cbc_setObjSense
COINLIBAPI void COINLINKAGE Cbc_setObjSense(Cbc_Model *model, double sense)
Sets optimization direction.
Osi_getNumCols
COINLIBAPI int COINLINKAGE Osi_getNumCols(void *osi)
Returns number of cols in OsiSolverInterface object.
Cbc_getIterationCount
COINLIBAPI int COINLINKAGE Cbc_getIterationCount(Cbc_Model *model)
Number of iterations.
Cbc_setCutoff
COINLIBAPI void COINLINKAGE Cbc_setCutoff(Cbc_Model *model, double cutoff)
sets the cutoff
Cbc_getRowUpper
const COINLIBAPI double *COINLINKAGE Cbc_getRowUpper(Cbc_Model *model)
Constraint upper bounds.
Cbc_checkSolution
COINLIBAPI void COINLINKAGE Cbc_checkSolution(Cbc_Model *model)
Just check solution (for external use) - sets sum of infeasibilities etc.
Osi_getColName
COINLIBAPI void COINLINKAGE Osi_getColName(void *osi, int i, char *name, int maxLen)
Returns column name in OsiSolverInterface object.
Cbc_setMIPStartI
COINLIBAPI void COINLINKAGE Cbc_setMIPStartI(Cbc_Model *model, int count, const int colIdxs[], const double colValues[])
Enter initial feasible solution.
Cbc_isAbandoned
COINLIBAPI int COINLINKAGE Cbc_isAbandoned(Cbc_Model *model)
If optimization was abandoned due to numerical difficulties.
Cbc_getNumCols
COINLIBAPI int COINLINKAGE Cbc_getNumCols(Cbc_Model *model)
Number of variables in the model.
Cbc_isInitialSolveAbandoned
COINLIBAPI int COINLINKAGE Cbc_isInitialSolveAbandoned(Cbc_Model *model)
Are there numerical difficulties (for initialSolve) ?
Cbc_registerCallBack
COINLIBAPI void COINLINKAGE Cbc_registerCallBack(Cbc_Model *model, cbc_callback userCallBack)
Pass in Callback function.
Cbc_maxNameLength
COINLIBAPI size_t COINLINKAGE Cbc_maxNameLength(Cbc_Model *model)
Maximum lenght of a row or column name.
Cbc_isNodeLimitReached
COINLIBAPI int COINLINKAGE Cbc_isNodeLimitReached(Cbc_Model *model)
Node limit reached?
Cbc_isInitialSolveProvenOptimal
COINLIBAPI int COINLINKAGE Cbc_isInitialSolveProvenOptimal(Cbc_Model *model)
Is optimality proven (for initialSolve) ?
Cbc_getElements
const COINLIBAPI double *COINLINKAGE Cbc_getElements(Cbc_Model *model)
Coefficient vector of constraint matrix.
Cbc_problemName
COINLIBAPI void COINLINKAGE Cbc_problemName(Cbc_Model *model, int maxNumberCharacters, char *array)
Queries problem name.
Cbc_savedSolution
const COINLIBAPI double *COINLINKAGE Cbc_savedSolution(Cbc_Model *model, int whichSol)
Vector with the i-th saved solution.
Cbc_getNumElements
COINLIBAPI int COINLINKAGE Cbc_getNumElements(Cbc_Model *model)
Number of nonzero elements in constraint matrix.
Cbc_setInteger
COINLIBAPI void COINLINKAGE Cbc_setInteger(Cbc_Model *model, int iColumn)
Set this variable to be integer.
Osi_getColLower
const COINLIBAPI double *COINLINKAGE Osi_getColLower(void *osi)
Returns column lower bounds in OsiSolverInterface object.
Cbc_setParameter
COINLIBAPI void COINLINKAGE Cbc_setParameter(Cbc_Model *model, const char *name, const char *value)
Set parameter "name" to value "value".
Cbc_getRowActivity
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...
Cbc_getBestPossibleObjValue
COINLIBAPI double COINLINKAGE Cbc_getBestPossibleObjValue(Cbc_Model *model)
Best known bound on the optimal objective value.
Cbc_setProblemName
COINLIBAPI int COINLINKAGE Cbc_setProblemName(Cbc_Model *model, const char *array)
Sets problem name.
Cbc_setRowLower
COINLIBAPI void COINLINKAGE Cbc_setRowLower(Cbc_Model *model, int index, double value)
Set the lower bound of a single constraint.
Cbc_setObjCoeff
COINLIBAPI void COINLINKAGE Cbc_setObjCoeff(Cbc_Model *model, int index, double value)
Set the objective coefficient of a single variable.
Cbc_setAllowablePercentageGap
COINLIBAPI void COINLINKAGE Cbc_setAllowablePercentageGap(Cbc_Model *model, double allowedPercentageGap)
sets the allowable percentage gap
Osi_getRowNz
COINLIBAPI int COINLINKAGE Osi_getRowNz(void *osi, int row)
Cbc_getAllowableFractionGap
COINLIBAPI double COINLINKAGE Cbc_getAllowableFractionGap(Cbc_Model *model)
returns the allowable fraction gap
Cbc_loadProblem
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).
Cbc_setColLower
COINLIBAPI void COINLINKAGE Cbc_setColLower(Cbc_Model *model, int index, double value)
Set the lower bound of a single variable.
Cbc_addRow
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.
Cbc_secondaryStatus
COINLIBAPI int COINLINKAGE Cbc_secondaryStatus(Cbc_Model *model)
Secondary status of problem.
Cbc_numberSavedSolutions
COINLIBAPI int COINLINKAGE Cbc_numberSavedSolutions(Cbc_Model *model)
number of integer feasible solution saved
Cbc_isProvenInfeasible
COINLIBAPI int COINLINKAGE Cbc_isProvenInfeasible(Cbc_Model *model)
If infeasibility was proven.
Cbc_printModel
COINLIBAPI void COINLINKAGE Cbc_printModel(Cbc_Model *model, const char *argPrefix)
Print the model.
Cbc_addSOS
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.
Cbc_setInitialSolution
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...
Cbc_newModel
COINLIBAPI Cbc_Model *COINLINKAGE Cbc_newModel(void)
Creates an empty problem.
Cbc_getLogLevel
COINLIBAPI int COINLINKAGE Cbc_getLogLevel(Cbc_Model *model)
returns the current log leven
Cbc_deleteModel
COINLIBAPI void COINLINKAGE Cbc_deleteModel(Cbc_Model *model)
Cbc_Model destructor.
Cbc_getCutoff
COINLIBAPI double COINLINKAGE Cbc_getCutoff(Cbc_Model *model)
returns the cutoff
Cbc_setLogLevel
COINLIBAPI void COINLINKAGE Cbc_setLogLevel(Cbc_Model *model, int logLevel)
sets the log level
Cbc_isInteger
COINLIBAPI int COINLINKAGE Cbc_isInteger(Cbc_Model *model, int i)
Determine whether the ith variable is integer restricted.
Cbc_getAllowablePercentageGap
COINLIBAPI double COINLINKAGE Cbc_getAllowablePercentageGap(Cbc_Model *model)
returns the allowable percentage gap
Cbc_isInitialSolveProvenPrimalInfeasible
COINLIBAPI int COINLINKAGE Cbc_isInitialSolveProvenPrimalInfeasible(Cbc_Model *model)
Is primal infeasiblity proven (for initialSolve) ?
Cbc_getColSolution
const COINLIBAPI double *COINLINKAGE Cbc_getColSolution(Cbc_Model *model)
Best feasible solution vector.
Cbc_getColIndices
const COINLIBAPI int *COINLINKAGE Cbc_getColIndices(Cbc_Model *model, int col)
Indices of rows that a column appears.
Cbc_setMaximumSeconds
COINLIBAPI void COINLINKAGE Cbc_setMaximumSeconds(Cbc_Model *model, double maxSeconds)
sets the time limit for the search process
Cbc_getColLower
const COINLIBAPI double *COINLINKAGE Cbc_getColLower(Cbc_Model *model)
Variable lower bounds.
Osi_getColSolution
const COINLIBAPI double *COINLINKAGE Osi_getColSolution(void *osi)
Returns solution vector in OsiSolverInterface object.
Cbc_getObjSense
COINLIBAPI double COINLINKAGE Cbc_getObjSense(Cbc_Model *model)
Direction of optimization.
OsiCuts_addRowCut
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)
Cbc_getColCoeffs
const COINLIBAPI double *COINLINKAGE Cbc_getColCoeffs(Cbc_Model *model, int col)
Coefficients that a column appear in rows.
Cbc_setRowName
COINLIBAPI void COINLINKAGE Cbc_setRowName(Cbc_Model *model, int iRow, const char *name)
Set the name of a row.
Osi_getRowIndices
const COINLIBAPI int *COINLINKAGE Osi_getRowIndices(void *osi, int row)
Indices of variables that appear on a row.
Cbc_clearCallBack
COINLIBAPI void COINLINKAGE Cbc_clearCallBack(Cbc_Model *model)
Unset Callback function.
Cbc_getMaximumNodes
COINLIBAPI int COINLINKAGE Cbc_getMaximumNodes(Cbc_Model *model)
returns the maximum number of nodes that can be explored in the search tree
Cbc_getRowNz
COINLIBAPI int COINLINKAGE Cbc_getRowNz(Cbc_Model *model, int row)
Number of non-zero entries in a row.
Cbc_getColName
COINLIBAPI void COINLINKAGE Cbc_getColName(Cbc_Model *model, int iColumn, char *name, size_t maxLength)
Queries column name.
Cbc_getVectorStarts
const COINLIBAPI CoinBigIndex *COINLINKAGE Cbc_getVectorStarts(Cbc_Model *model)
"Column start" vector of constraint matrix.
Cbc_setMaximumSolutions
COINLIBAPI void COINLINKAGE Cbc_setMaximumSolutions(Cbc_Model *model, int maxSolutions)
sets a solution limit as a stopping criterion
Cbc_setColName
COINLIBAPI void COINLINKAGE Cbc_setColName(Cbc_Model *model, int iColumn, const char *name)
Set the name of a column.
Cbc_getRowRHS
COINLIBAPI double COINLINKAGE Cbc_getRowRHS(Cbc_Model *model, int row)
Right hand side of a row.
Cbc_setColUpper
COINLIBAPI void COINLINKAGE Cbc_setColUpper(Cbc_Model *model, int index, double value)
Set the upper bound of a single variable.
Cbc_getRowSense
COINLIBAPI char COINLINKAGE Cbc_getRowSense(Cbc_Model *model, int row)
Sense a row.
Cbc_sumPrimalInfeasibilities
COINLIBAPI double COINLINKAGE Cbc_sumPrimalInfeasibilities(Cbc_Model *model)
Sum of primal infeasibilities.
Cbc_isSolutionLimitReached
COINLIBAPI int COINLINKAGE Cbc_isSolutionLimitReached(Cbc_Model *model)
Solution limit reached?
Cbc_isProvenOptimal
COINLIBAPI int COINLINKAGE Cbc_isProvenOptimal(Cbc_Model *model)
If the optimal solution was found.
Cbc_getIndices
const COINLIBAPI int *COINLINKAGE Cbc_getIndices(Cbc_Model *model)
"Row index" vector of constraint matrix
Cbc_getObjValue
COINLIBAPI double COINLINKAGE Cbc_getObjValue(Cbc_Model *model)
Objective value of best feasible solution.
Cbc_setRowUpper
COINLIBAPI void COINLINKAGE Cbc_setRowUpper(Cbc_Model *model, int index, double value)
Set the upper bound of a single constraint.
Cbc_writeMps
COINLIBAPI void COINLINKAGE Cbc_writeMps(Cbc_Model *model, const char *filename)
Write an mps file from the given filename.
Cbc_getRowName
COINLIBAPI void COINLINKAGE Cbc_getRowName(Cbc_Model *model, int iRow, char *name, size_t maxLength)
Queries row name.
Cbc_status
COINLIBAPI int COINLINKAGE Cbc_status(Cbc_Model *model)
Final optimization status.
Cbc_savedSolutionObj
COINLIBAPI double COINLINKAGE Cbc_savedSolutionObj(Cbc_Model *model, int whichSol)
Cost of the whichSol solution.
Cbc_numberPrimalInfeasibilities
COINLIBAPI int COINLINKAGE Cbc_numberPrimalInfeasibilities(Cbc_Model *model)
Number of primal infeasibilities.
Cbc_addCol
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.
Cbc_writeLp
COINLIBAPI void COINLINKAGE Cbc_writeLp(Cbc_Model *model, const char *filename)
Write an lp file from the given filename.
Cbc_getColUpper
const COINLIBAPI double *COINLINKAGE Cbc_getColUpper(Cbc_Model *model)
Variable upper bounds.
Cbc_getRowLower
const COINLIBAPI double *COINLINKAGE Cbc_getRowLower(Cbc_Model *model)
Constraint lower bounds.
Osi_isInteger
COINLIBAPI int COINLINKAGE Osi_isInteger(void *osi, int col)
Returns integrality information for columns in OsiSolverInterface object.
Cbc_isSecondsLimitReached
COINLIBAPI int COINLINKAGE Cbc_isSecondsLimitReached(Cbc_Model *model)
Time limit reached?
Osi_getRowSense
COINLIBAPI char COINLINKAGE Osi_getRowSense(void *osi, int row)
Sense a row.
Cbc_isContinuousUnbounded
COINLIBAPI int COINLINKAGE Cbc_isContinuousUnbounded(Cbc_Model *model)
Is continuous model unbounded ?
Cbc_clone
COINLIBAPI Cbc_Model *COINLINKAGE Cbc_clone(Cbc_Model *model)
Creates a copy of the current model.
Cbc_getMaximumSolutions
COINLIBAPI int COINLINKAGE Cbc_getMaximumSolutions(Cbc_Model *model)
returns solution limit for the search process
Cbc_printSolution
COINLIBAPI void COINLINKAGE Cbc_printSolution(Cbc_Model *model)
Print the solution.
Cbc_bestSolution
COINLIBAPI double *COINLINKAGE Cbc_bestSolution(Cbc_Model *model)
Best integer feasible solution.
Cbc_setContinuous
COINLIBAPI void COINLINKAGE Cbc_setContinuous(Cbc_Model *model, int iColumn)
Set this variable to be continuous.
Cbc_setAllowableFractionGap
COINLIBAPI void COINLINKAGE Cbc_setAllowableFractionGap(Cbc_Model *model, double allowedFracionGap)
sets the allowable fraction gap
Cbc_setMaximumNodes
COINLIBAPI void COINLINKAGE Cbc_setMaximumNodes(Cbc_Model *model, int maxNodes)
sets the maximum number of nodes that can be explored in the search tree
Cbc_getVersion
const COINLIBAPI char *COINLINKAGE Cbc_getVersion(void)
Current version of Cbc.
Cbc_readLp
COINLIBAPI int COINLINKAGE Cbc_readLp(Cbc_Model *model, const char *filename)
Read an lp file from the given filename.
Cbc_getColNz
COINLIBAPI int COINLINKAGE Cbc_getColNz(Cbc_Model *model, int col)
Number of non-zero entries in a column.
Osi_getColUpper
const COINLIBAPI double *COINLINKAGE Osi_getColUpper(void *osi)
Returns column upper bounds in OsiSolverInterface object.
Cbc_getReducedCost
const COINLIBAPI double *COINLINKAGE Cbc_getReducedCost(Cbc_Model *model)
Queries vector of reduced costs.
Cbc_getAllowableGap
COINLIBAPI double COINLINKAGE Cbc_getAllowableGap(Cbc_Model *model)
returns the allowable gap
Osi_getRowCoeffs
const COINLIBAPI double *COINLINKAGE Osi_getRowCoeffs(void *osi, int row)
Coefficients of variables that appear on this row.
Cbc_getMaximumSeconds
COINLIBAPI double COINLINKAGE Cbc_getMaximumSeconds(Cbc_Model *model)
returns the time limit for the search process
Cbc_setMIPStart
COINLIBAPI void COINLINKAGE Cbc_setMIPStart(Cbc_Model *model, int count, const char **colNames, const double colValues[])
Enter initial feasible solution.
Cbc_getNodeCount
COINLIBAPI int COINLINKAGE Cbc_getNodeCount(Cbc_Model *model)
Number of nodes explored in B&B tree.
Cbc_solve
COINLIBAPI int COINLINKAGE Cbc_solve(Cbc_Model *model)
Cbc_getNumIntegers
COINLIBAPI int COINLINKAGE Cbc_getNumIntegers(Cbc_Model *model)
Number of integer variables in the model.
Cbc_getObjCoefficients
const COINLIBAPI double *COINLINKAGE Cbc_getObjCoefficients(Cbc_Model *model)
Objective vector.