Cbc 2.10.10
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
22extern "C" {
23#endif
24
26COINLIBAPI const char *COINLINKAGE Cbc_getVersion(void);
27
32COINLIBAPI Cbc_Model *COINLINKAGE
34
40COINLIBAPI int COINLINKAGE
41Cbc_setProblemName(Cbc_Model *model, const char *array);
42
57COINLIBAPI void COINLINKAGE
58Cbc_addCol(Cbc_Model *model, const char *name, double lb,
59 double ub, double obj, char isInteger,
60 int nz, int *rows, double *coefs);
61
74COINLIBAPI void COINLINKAGE
75Cbc_addRow(Cbc_Model *model, const char *name, int nz,
76 const int *cols, const double *coefs, char sense, double rhs);
77
79COINLIBAPI void COINLINKAGE
80Cbc_addSOS(Cbc_Model *model, int numRows, const int *rowStarts,
81 const int *colIndices, const double *weights, const int type);
82
102COINLIBAPI void COINLINKAGE
103Cbc_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
116COINLIBAPI void COINLINKAGE
117Cbc_setColName(Cbc_Model *model, int iColumn, const char *name);
118
125COINLIBAPI void COINLINKAGE
126Cbc_setRowName(Cbc_Model *model, int iRow, const char *name);
127
133COINLIBAPI void COINLINKAGE
134Cbc_setObjSense(Cbc_Model *model, double sense);
135
142COINLIBAPI void COINLINKAGE
143Cbc_setRowLower(Cbc_Model *model, int index, double value);
144
151COINLIBAPI void COINLINKAGE
152Cbc_setRowUpper(Cbc_Model *model, int index, double value);
153
160COINLIBAPI void COINLINKAGE
161Cbc_setObjCoeff(Cbc_Model *model, int index, double value);
162
169COINLIBAPI void COINLINKAGE
170Cbc_setColLower(Cbc_Model *model, int index, double value);
171
178COINLIBAPI void COINLINKAGE
179Cbc_setColUpper(Cbc_Model *model, int index, double value);
180
186COINLIBAPI void COINLINKAGE
187Cbc_setContinuous(Cbc_Model *model, int iColumn);
188
194COINLIBAPI void COINLINKAGE
195Cbc_setInteger(Cbc_Model *model, int iColumn);
196
198COINLIBAPI void COINLINKAGE
199Cbc_deleteModel(Cbc_Model *model);
200
214COINLIBAPI void COINLINKAGE
215Cbc_setMIPStart(Cbc_Model *model, int count, const char **colNames, const double colValues[]);
216
230COINLIBAPI void COINLINKAGE
231Cbc_setMIPStartI(Cbc_Model *model, int count, const int colIdxs[], const double colValues[]);
232
238COINLIBAPI Cbc_Model *COINLINKAGE
239Cbc_clone(Cbc_Model *model);
240
253COINLIBAPI void COINLINKAGE
254Cbc_problemName(Cbc_Model *model, int maxNumberCharacters, char *array);
255
261COINLIBAPI int COINLINKAGE
262Cbc_getNumElements(Cbc_Model *model);
263
268COINLIBAPI int COINLINKAGE
269Cbc_getNumCols(Cbc_Model *model);
270
276COINLIBAPI int COINLINKAGE
277Cbc_getNumIntegers(Cbc_Model *model);
278
283COINLIBAPI int COINLINKAGE
284Cbc_getNumRows(Cbc_Model *model);
285
293COINLIBAPI void COINLINKAGE
294Cbc_getRowName(Cbc_Model *model, int iRow, char *name, size_t maxLength);
295
303COINLIBAPI void COINLINKAGE
304Cbc_getColName(Cbc_Model *model, int iColumn, char *name, size_t maxLength);
305
312COINLIBAPI int COINLINKAGE
313Cbc_getRowNz(Cbc_Model *model, int row);
314
321COINLIBAPI const int *COINLINKAGE
322Cbc_getRowIndices(Cbc_Model *model, int row);
323
330COINLIBAPI const double *COINLINKAGE
331Cbc_getRowCoeffs(Cbc_Model *model, int row);
332
339COINLIBAPI int COINLINKAGE
340Cbc_getColNz(Cbc_Model *model, int col);
341
348COINLIBAPI const int *COINLINKAGE
349Cbc_getColIndices(Cbc_Model *model, int col);
350
357COINLIBAPI const double *COINLINKAGE
358Cbc_getColCoeffs(Cbc_Model *model, int col);
359
366COINLIBAPI double COINLINKAGE
367Cbc_getRowRHS(Cbc_Model *model, int row);
368
374COINLIBAPI char COINLINKAGE
375Cbc_getRowSense(Cbc_Model *model, int row);
376
382COINLIBAPI double COINLINKAGE
383Cbc_getObjSense(Cbc_Model *model);
384
390COINLIBAPI const double *COINLINKAGE
391Cbc_getRowLower(Cbc_Model *model);
392
398COINLIBAPI const double *COINLINKAGE
399Cbc_getRowUpper(Cbc_Model *model);
400
406COINLIBAPI const double *COINLINKAGE
407Cbc_getObjCoefficients(Cbc_Model *model);
408
414COINLIBAPI const double *COINLINKAGE
415Cbc_getColLower(Cbc_Model *model);
416
422COINLIBAPI const double *COINLINKAGE
423Cbc_getColUpper(Cbc_Model *model);
424
431COINLIBAPI int COINLINKAGE
432Cbc_isInteger(Cbc_Model *model, int i);
433
434
446COINLIBAPI int COINLINKAGE
447Cbc_readMps(Cbc_Model *model, const char *filename);
448
454COINLIBAPI int COINLINKAGE
455Cbc_readLp(Cbc_Model *model, const char *filename);
456
462COINLIBAPI void COINLINKAGE
463Cbc_writeMps(Cbc_Model *model, const char *filename);
464
470COINLIBAPI void COINLINKAGE
471Cbc_writeLp(Cbc_Model *model, const char *filename);
472
488COINLIBAPI void COINLINKAGE
489Cbc_setInitialSolution(Cbc_Model *model, const double *sol);
491COINLIBAPI const CoinBigIndex *COINLINKAGE
492Cbc_getVectorStarts(Cbc_Model *model);
494COINLIBAPI const int *COINLINKAGE
495Cbc_getIndices(Cbc_Model *model);
497COINLIBAPI const double *COINLINKAGE
498Cbc_getElements(Cbc_Model *model);
499
501COINLIBAPI size_t COINLINKAGE
502Cbc_maxNameLength(Cbc_Model *model);
504COINLIBAPI void COINLINKAGE
505Cbc_printModel(Cbc_Model *model, const char *argPrefix);
513COINLIBAPI void COINLINKAGE
514Cbc_setParameter(Cbc_Model *model, const char *name, const char *value);
515
516
519COINLIBAPI double COINLINKAGE
520Cbc_getAllowableGap(Cbc_Model *model);
521
524COINLIBAPI void COINLINKAGE
525Cbc_setAllowableGap(Cbc_Model *model, double allowedGap);
526
529COINLIBAPI double COINLINKAGE
531
534COINLIBAPI void COINLINKAGE
535Cbc_setAllowableFractionGap(Cbc_Model *model, double allowedFracionGap);
536
539COINLIBAPI double COINLINKAGE
541
544COINLIBAPI void COINLINKAGE
545Cbc_setAllowablePercentageGap(Cbc_Model *model, double allowedPercentageGap);
546
549COINLIBAPI double COINLINKAGE
550Cbc_getMaximumSeconds(Cbc_Model *model);
551
554COINLIBAPI void COINLINKAGE
555Cbc_setMaximumSeconds(Cbc_Model *model, double maxSeconds);
556
557
560COINLIBAPI int COINLINKAGE
561Cbc_getMaximumNodes(Cbc_Model *model);
562
565COINLIBAPI void COINLINKAGE
566Cbc_setMaximumNodes(Cbc_Model *model, int maxNodes);
567
570COINLIBAPI int COINLINKAGE
571Cbc_getMaximumSolutions(Cbc_Model *model);
572
575COINLIBAPI void COINLINKAGE
576Cbc_setMaximumSolutions(Cbc_Model *model, int maxSolutions);
577
580COINLIBAPI int COINLINKAGE
581Cbc_getLogLevel(Cbc_Model *model);
582
585COINLIBAPI void COINLINKAGE
586Cbc_setLogLevel(Cbc_Model *model, int logLevel);
587
588
591COINLIBAPI double COINLINKAGE
592Cbc_getCutoff(Cbc_Model *model);
593
596COINLIBAPI void COINLINKAGE
597Cbc_setCutoff(Cbc_Model *model, double cutoff);
598
599
600
606COINLIBAPI void COINLINKAGE
607Cbc_registerCallBack(Cbc_Model *model,
608 cbc_callback userCallBack);
609
611COINLIBAPI void COINLINKAGE
612Cbc_clearCallBack(Cbc_Model *model);
613
614COINLIBAPI 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 */
624COINLIBAPI int COINLINKAGE
625Cbc_solve(Cbc_Model *model);
636COINLIBAPI const double *COINLINKAGE
637Cbc_getColSolution(Cbc_Model *model);
638
639
645COINLIBAPI double COINLINKAGE
647
655COINLIBAPI double *COINLINKAGE
656Cbc_bestSolution(Cbc_Model *model);
657
663COINLIBAPI int COINLINKAGE
664Cbc_numberSavedSolutions(Cbc_Model *model);
665
672COINLIBAPI const double *COINLINKAGE
673Cbc_savedSolution(Cbc_Model *model, int whichSol);
674
681COINLIBAPI double COINLINKAGE
682Cbc_savedSolutionObj(Cbc_Model *model, int whichSol);
683
689COINLIBAPI const double *COINLINKAGE
690Cbc_getReducedCost(Cbc_Model *model);
691
697COINLIBAPI int COINLINKAGE
698Cbc_isAbandoned(Cbc_Model *model);
699
705COINLIBAPI int COINLINKAGE
706Cbc_isProvenOptimal(Cbc_Model *model);
707
716COINLIBAPI int COINLINKAGE
717Cbc_isProvenInfeasible(Cbc_Model *model);
718
724COINLIBAPI int COINLINKAGE
726
732COINLIBAPI double COINLINKAGE
733Cbc_getObjValue(Cbc_Model *model);
734
750COINLIBAPI int COINLINKAGE Cbc_status(Cbc_Model *model);
751
770COINLIBAPI int COINLINKAGE
771Cbc_secondaryStatus(Cbc_Model *model);
772
774COINLIBAPI double COINLINKAGE
776
778COINLIBAPI int COINLINKAGE
780
783COINLIBAPI void COINLINKAGE
784Cbc_checkSolution(Cbc_Model *model);
785
787COINLIBAPI int COINLINKAGE
788Cbc_getIterationCount(Cbc_Model *model);
789
791COINLIBAPI int COINLINKAGE
792Cbc_isNodeLimitReached(Cbc_Model *model);
794COINLIBAPI int COINLINKAGE
797COINLIBAPI int COINLINKAGE
800COINLIBAPI int COINLINKAGE
803COINLIBAPI int COINLINKAGE
806COINLIBAPI int COINLINKAGE
811COINLIBAPI const double *COINLINKAGE
812Cbc_getRowActivity(Cbc_Model *model);
814COINLIBAPI int COINLINKAGE
815Cbc_getNodeCount(Cbc_Model *model);
817COINLIBAPI void COINLINKAGE
818Cbc_printSolution(Cbc_Model *model);
819
826COINLIBAPI int COINLINKAGE
827Osi_getNumCols( void *osi );
828
830COINLIBAPI void COINLINKAGE
831Osi_getColName( void *osi, int i, char *name, int maxLen );
832
834COINLIBAPI const double * COINLINKAGE
835Osi_getColLower( void *osi );
836
838COINLIBAPI const double * COINLINKAGE
839Osi_getColUpper( void *osi );
840
842COINLIBAPI int COINLINKAGE
843Osi_isInteger( void *osi, int col );
844
846COINLIBAPI int COINLINKAGE
847Osi_getNumRows( void *osi );
848
849COINLIBAPI int COINLINKAGE
850Osi_getRowNz(void *osi, int row);
851
853COINLIBAPI const int *COINLINKAGE
854Osi_getRowIndices(void *osi, int row);
855
862COINLIBAPI const double *COINLINKAGE
863Osi_getRowCoeffs(void *osi, int row);
864
871COINLIBAPI double COINLINKAGE
872Osi_getRowRHS(void *osi, int row);
873
879COINLIBAPI char COINLINKAGE
880Osi_getRowSense(void *osi, int row);
881
883COINLIBAPI const double * COINLINKAGE
885
886
893COINLIBAPI void COINLINKAGE
894OsiCuts_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*/
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.