Cbc_C_Interface.h
Go to the documentation of this file.
1 /* $Id: Cbc_C_Interface.h 1286 2009-11-09 23:33:07Z EdwinStraver $ */
2 /* Copyright (C) 2004 International Business Machines
3  Corporation and others. All Rights Reserved.*/
4 #ifndef CbcModelC_H
5 #define CbcModelC_H
6 
7 /* include all defines and ugly stuff */
8 #include "Coin_C_defines.h"
9 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
28 
30  COINLIBAPI double COINLINKAGE Cbc_getVersion()
31  ;
33  COINLIBAPI Cbc_Model * COINLINKAGE
34  Cbc_newModel()
35  ;
37  COINLIBAPI void COINLINKAGE
38  Cbc_deleteModel(Cbc_Model * model)
39  ;
44  /* Loads a problem (the constraints on the
45  rows are given by lower and upper bounds). If a pointer is NULL then the
46  following values are the default:
47  <ul>
48  <li> <code>colub</code>: all columns have upper bound infinity
49  <li> <code>collb</code>: all columns have lower bound 0
50  <li> <code>rowub</code>: all rows have upper bound infinity
51  <li> <code>rowlb</code>: all rows have lower bound -infinity
52  <li> <code>obj</code>: all variables have 0 objective coefficient
53  </ul>
54 
55  Just like the other loadProblem() method except that the matrix is
56  given in a standard column major ordered format (without gaps).
57  */
58  COINLIBAPI void COINLINKAGE
59  Cbc_loadProblem (Cbc_Model * model, const int numcols, const int numrows,
60  const CoinBigIndex * start, const int* index,
61  const double* value,
62  const double* collb, const double* colub,
63  const double* obj,
64  const double* rowlb, const double* rowub)
65  ;
67  COINLIBAPI int COINLINKAGE
68  Cbc_readMps(Cbc_Model * model, const char *filename)
69  ;
71  COINLIBAPI void COINLINKAGE
72  Cbc_writeMps(Cbc_Model * model, const char *filename)
73  ;
75  COINLIBAPI char * COINLINKAGE
76  Cbc_integerInformation(Cbc_Model * model)
77  ;
79  COINLIBAPI void COINLINKAGE
80  Cbc_copyInIntegerInformation(Cbc_Model * model, const char * information)
81  ;
83  COINLIBAPI void COINLINKAGE
84  Cbc_deleteIntegerInformation(Cbc_Model * model)
85  ;
87  COINLIBAPI void COINLINKAGE
88  Cbc_resize (Cbc_Model * model, int newNumberRows, int newNumberColumns)
89  ;
91  COINLIBAPI void COINLINKAGE
92  Cbc_deleteRows(Cbc_Model * model, int number, const int * which)
93  ;
95  COINLIBAPI void COINLINKAGE
96  Cbc_addRows(Cbc_Model * model, const int number, const double * rowLower,
97  const double * rowUpper,
98  const int * rowStarts, const int * columns,
99  const double * elements)
100  ;
101 
103  COINLIBAPI void COINLINKAGE
104  Cbc_deleteColumns(Cbc_Model * model, int number, const int * which)
105  ;
107  COINLIBAPI void COINLINKAGE
108  Cbc_addColumns(Cbc_Model * model, int number, const double * columnLower,
109  const double * columnUpper,
110  const double * objective,
111  const int * columnStarts, const int * rows,
112  const double * elements);
114  COINLIBAPI void COINLINKAGE
115  Cbc_dropNames(Cbc_Model * model)
116  ;
118  COINLIBAPI void COINLINKAGE
119  Cbc_copyNames(Cbc_Model * model, const char * const * rowNamesIn,
120  const char * const * columnNamesIn)
121  ;
122 
127  COINLIBAPI int COINLINKAGE
128  Cbc_numberRows(Cbc_Model * model)
129  ;
131  COINLIBAPI int COINLINKAGE
132  Cbc_numberColumns(Cbc_Model * model)
133  ;
135  COINLIBAPI double COINLINKAGE
136  Cbc_primalTolerance(Cbc_Model * model)
137  ;
138  COINLIBAPI void COINLINKAGE
139  Cbc_setPrimalTolerance(Cbc_Model * model, double value)
140  ;
142  COINLIBAPI double COINLINKAGE
143  Cbc_dualTolerance(Cbc_Model * model)
144  ;
145  COINLIBAPI void COINLINKAGE
146  Cbc_setDualTolerance(Cbc_Model * model, double value)
147  ;
148  /* Integer tolerance to use */
149  COINLIBAPI double COINLINKAGE
150  Cbc_integerTolerance(Cbc_Model * model)
151  ;
152  COINLIBAPI void COINLINKAGE
153  Cbc_setIntegerTolerance(Cbc_Model * model, double value)
154  ;
156  COINLIBAPI double COINLINKAGE
157  Cbc_dualObjectiveLimit(Cbc_Model * model)
158  ;
159  COINLIBAPI void COINLINKAGE
160  Cbc_setDualObjectiveLimit(Cbc_Model * model, double value)
161  ;
163  COINLIBAPI double COINLINKAGE
164  Cbc_objectiveOffset(Cbc_Model * model)
165  ;
166  COINLIBAPI void COINLINKAGE
167  Cbc_setObjectiveOffset(Cbc_Model * model, double value)
168  ;
170  COINLIBAPI void COINLINKAGE
171  Cbc_problemName(Cbc_Model * model, int maxNumberCharacters, char * array)
172  ;
174  COINLIBAPI int COINLINKAGE
175  Cbc_setProblemName(Cbc_Model * model, int maxNumberCharacters, char * array)
176  ;
178  COINLIBAPI int COINLINKAGE
179  Cbc_numberIterations(Cbc_Model * model)
180  ;
181  COINLIBAPI void COINLINKAGE
182  Cbc_setNumberIterations(Cbc_Model * model, int numberIterations)
183  ;
185  COINLIBAPI int COINLINKAGE
186  Cbc_maximumIterations(Cbc_Model * model)
187  ;
188  COINLIBAPI void COINLINKAGE
189  Cbc_setMaximumIterations(Cbc_Model * model, int value)
190  ;
192  COINLIBAPI int COINLINKAGE
193  Cbc_maxNumNode(Cbc_Model * model)
194  ;
195  COINLIBAPI void COINLINKAGE
196  Cbc_setMaxNumNode(Cbc_Model * model, int value)
197  ;
198  /* Maximum number of solutions */
199  COINLIBAPI int COINLINKAGE
200  Cbc_maxNumSol(Cbc_Model * model)
201  ;
202  COINLIBAPI void COINLINKAGE
203  Cbc_setMaxNumSol(Cbc_Model * model, int value)
204  ;
206  COINLIBAPI double COINLINKAGE
207  Cbc_maximumSeconds(Cbc_Model * model)
208  ;
209  COINLIBAPI void COINLINKAGE
210  Cbc_setMaximumSeconds(Cbc_Model * model, double value)
211  ;
213  COINLIBAPI int COINLINKAGE
214  Cbc_hitMaximumIterations(Cbc_Model * model)
215  ;
223  COINLIBAPI int COINLINKAGE
224  Cbc_status(Cbc_Model * model)
225  ;
227  COINLIBAPI void COINLINKAGE
228  Cbc_setProblemStatus(Cbc_Model * model, int problemStatus)
229  ;
237  COINLIBAPI int COINLINKAGE
238  Cbc_secondaryStatus(Cbc_Model * model)
239  ;
240  COINLIBAPI void COINLINKAGE
241  Cbc_setSecondaryStatus(Cbc_Model * model, int status)
242  ;
244  COINLIBAPI double COINLINKAGE
245  Cbc_optimizationDirection(Cbc_Model * model)
246  ;
247  COINLIBAPI void COINLINKAGE
248  Cbc_setOptimizationDirection(Cbc_Model * model, double value)
249  ;
251  COINLIBAPI double * COINLINKAGE
252  Cbc_primalRowSolution(Cbc_Model * model)
253  ;
255  COINLIBAPI double * COINLINKAGE
256  Cbc_primalColumnSolution(Cbc_Model * model)
257  ;
259  COINLIBAPI double * COINLINKAGE
260  Cbc_dualRowSolution(Cbc_Model * model)
261  ;
263  COINLIBAPI double * COINLINKAGE
264  Cbc_dualColumnSolution(Cbc_Model * model)
265  ;
267  COINLIBAPI double* COINLINKAGE
268  Cbc_rowLower(Cbc_Model * model)
269  ;
271  COINLIBAPI double* COINLINKAGE
272  Cbc_rowUpper(Cbc_Model * model)
273  ;
275  COINLIBAPI double * COINLINKAGE
276  Cbc_objective(Cbc_Model * model)
277  ;
279  COINLIBAPI double * COINLINKAGE
280  Cbc_columnLower(Cbc_Model * model)
281  ;
283  COINLIBAPI double * COINLINKAGE
284  Cbc_columnUpper(Cbc_Model * model)
285  ;
287  COINLIBAPI int COINLINKAGE
288  Cbc_getNumElements(Cbc_Model * model)
289  ;
291  COINLIBAPI const CoinBigIndex * COINLINKAGE
292  Cbc_getVectorStarts(Cbc_Model * model)
293  ;
295  COINLIBAPI const int * COINLINKAGE
296  Cbc_getIndices(Cbc_Model * model)
297  ;
299  COINLIBAPI const int * COINLINKAGE
300  Cbc_getVectorLengths(Cbc_Model * model)
301  ;
303  COINLIBAPI const double * COINLINKAGE
304  Cbc_getElements(Cbc_Model * model)
305  ;
307  COINLIBAPI double COINLINKAGE
308  Cbc_objectiveValue(Cbc_Model * model)
309  ;
312  COINLIBAPI double * COINLINKAGE
313  Cbc_infeasibilityRay(Cbc_Model * model)
314  ;
315  COINLIBAPI double * COINLINKAGE
316  Cbc_unboundedRay(Cbc_Model * model)
317  ;
319  COINLIBAPI int COINLINKAGE
320  Cbc_statusExists(Cbc_Model * model)
321  ;
323  COINLIBAPI void COINLINKAGE
324  Cbc_getBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
325  ;
327  COINLIBAPI void COINLINKAGE
328  Cbc_setBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
329  ;
330 
332  COINLIBAPI void COINLINKAGE
333  Cbc_setUserPointer (Cbc_Model * model, void * pointer)
334  ;
335  COINLIBAPI void * COINLINKAGE
336  Cbc_getUserPointer (Cbc_Model * model)
337  ;
343  COINLIBAPI void COINLINKAGE
344  Cbc_registerCallBack(Cbc_Model * model,
345  cbc_callback userCallBack)
346  ;
348  COINLIBAPI void COINLINKAGE
349  Cbc_clearCallBack(Cbc_Model * model)
350  ;
359  COINLIBAPI void COINLINKAGE
360  Cbc_setLogLevel(Cbc_Model * model, int value)
361  ;
362  COINLIBAPI int COINLINKAGE
363  Cbc_logLevel(Cbc_Model * model)
364  ;
366  COINLIBAPI int COINLINKAGE
367  Cbc_lengthNames(Cbc_Model * model)
368  ;
370  COINLIBAPI void COINLINKAGE
371  Cbc_rowName(Cbc_Model * model, int iRow, char * name)
372  ;
374  COINLIBAPI void COINLINKAGE
375  Cbc_columnName(Cbc_Model * model, int iColumn, char * name)
376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;
377 fspan class="lineno"> 376  ;