Main Page
Classes
Files
File List
File Members
opt
build
clp
clp-1.12.0
Clp
src
Clp_C_Interface.h
Go to the documentation of this file.
1
/* $Id: Clp_C_Interface.h 1525 2010-02-26 17:27:59Z mjs $ */
2
/* Copyright (C) 2002, 2003 International Business Machines
3
Corporation and others. All Rights Reserved.*/
4
#ifndef ClpSimplexC_H
5
#define ClpSimplexC_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 Clp_Simplex * COINLINKAGE
Clp_newModel
(
void
);
32
COINLIBAPI
void
COINLINKAGE
Clp_deleteModel
(Clp_Simplex * model);
50
COINLIBAPI
void
COINLINKAGE
Clp_loadProblem
(Clp_Simplex * model,
const
int
numcols,
const
int
numrows,
51
const
CoinBigIndex * start,
const
int
* index,
52
const
double
* value,
53
const
double
* collb,
const
double
* colub,
54
const
double
* obj,
55
const
double
* rowlb,
const
double
* rowub);
56
57
/* read quadratic part of the objective (the matrix part) */
58
COINLIBAPI
void
COINLINKAGE
59
Clp_loadQuadraticObjective
(Clp_Simplex * model,
60
const
int
numberColumns,
61
const
CoinBigIndex * start,
62
const
int
* column,
63
const
double
* element);
65
COINLIBAPI
int
COINLINKAGE
Clp_readMps
(Clp_Simplex * model,
const
char
*filename,
66
int
keepNames,
67
int
ignoreErrors);
69
COINLIBAPI
void
COINLINKAGE
Clp_copyInIntegerInformation
(Clp_Simplex * model,
const
char
* information);
71
COINLIBAPI
void
COINLINKAGE
Clp_deleteIntegerInformation
(Clp_Simplex * model);
73
COINLIBAPI
void
COINLINKAGE
Clp_resize
(Clp_Simplex * model,
int
newNumberRows,
int
newNumberColumns);
75
COINLIBAPI
void
COINLINKAGE
Clp_deleteRows
(Clp_Simplex * model,
int
number,
const
int
* which);
77
COINLIBAPI
void
COINLINKAGE
Clp_addRows
(Clp_Simplex * model,
int
number,
const
double
* rowLower,
78
const
double
* rowUpper,
79
const
int
* rowStarts,
const
int
* columns,
80
const
double
* elements);
81
83
COINLIBAPI
void
COINLINKAGE
Clp_deleteColumns
(Clp_Simplex * model,
int
number,
const
int
* which);
85
COINLIBAPI
void
COINLINKAGE
Clp_addColumns
(Clp_Simplex * model,
int
number,
const
double
* columnLower,
86
const
double
* columnUpper,
87
const
double
* objective,
88
const
int
* columnStarts,
const
int
* rows,
89
const
double
* elements);
91
COINLIBAPI
void
COINLINKAGE
Clp_chgRowLower
(Clp_Simplex * model,
const
double
* rowLower);
93
COINLIBAPI
void
COINLINKAGE
Clp_chgRowUpper
(Clp_Simplex * model,
const
double
* rowUpper);
95
COINLIBAPI
void
COINLINKAGE
Clp_chgColumnLower
(Clp_Simplex * model,
const
double
* columnLower);
97
COINLIBAPI
void
COINLINKAGE
Clp_chgColumnUpper
(Clp_Simplex * model,
const
double
* columnUpper);
99
COINLIBAPI
void
COINLINKAGE
Clp_chgObjCoefficients
(Clp_Simplex * model,
const
double
* objIn);
101
COINLIBAPI
void
COINLINKAGE
Clp_dropNames
(Clp_Simplex * model);
103
COINLIBAPI
void
COINLINKAGE
Clp_copyNames
(Clp_Simplex * model,
const
char
*
const
* rowNames,
104
const
char
*
const
* columnNames);
105
110
COINLIBAPI
int
COINLINKAGE
Clp_numberRows
(Clp_Simplex * model);
112
COINLIBAPI
int
COINLINKAGE
Clp_numberColumns
(Clp_Simplex * model);
114
COINLIBAPI
double
COINLINKAGE
Clp_primalTolerance
(Clp_Simplex * model);
115
COINLIBAPI
void
COINLINKAGE
Clp_setPrimalTolerance
(Clp_Simplex * model,
double
value) ;
117
COINLIBAPI
double
COINLINKAGE
Clp_dualTolerance
(Clp_Simplex * model);
118
COINLIBAPI
void
COINLINKAGE
Clp_setDualTolerance
(Clp_Simplex * model,
double
value) ;
120
COINLIBAPI
double
COINLINKAGE
Clp_dualObjectiveLimit
(Clp_Simplex * model);
121
COINLIBAPI
void
COINLINKAGE
Clp_setDualObjectiveLimit
(Clp_Simplex * model,
double
value);
123
COINLIBAPI
double
COINLINKAGE
Clp_objectiveOffset
(Clp_Simplex * model);
124
COINLIBAPI
void
COINLINKAGE
Clp_setObjectiveOffset
(Clp_Simplex * model,
double
value);
126
COINLIBAPI
void
COINLINKAGE
Clp_problemName
(Clp_Simplex * model,
int
maxNumberCharacters,
char
* array);
127
/* Sets problem name. Must have \0 at end. */
128
COINLIBAPI
int
COINLINKAGE
129
Clp_setProblemName
(Clp_Simplex * model,
int
maxNumberCharacters,
char
* array);
131
COINLIBAPI
int
COINLINKAGE
Clp_numberIterations
(Clp_Simplex * model);
132
COINLIBAPI
void
COINLINKAGE
Clp_setNumberIterations
(Clp_Simplex * model,
int
numberIterations);
134
COINLIBAPI
int
maximumIterations
(Clp_Simplex * model);
135
COINLIBAPI
void
COINLINKAGE
Clp_setMaximumIterations
(Clp_Simplex * model,
int
value);
137
COINLIBAPI
double
COINLINKAGE
Clp_maximumSeconds
(Clp_Simplex * model);
138
COINLIBAPI
void
COINLINKAGE
Clp_setMaximumSeconds
(Clp_Simplex * model,
double
value);
140
COINLIBAPI
int
COINLINKAGE
Clp_hitMaximumIterations
(Clp_Simplex * model);
148
COINLIBAPI
int
COINLINKAGE
Clp_status
(Clp_Simplex * model);
150
COINLIBAPI
void
COINLINKAGE
Clp_setProblemStatus
(Clp_Simplex * model,
int
problemStatus);
158
COINLIBAPI
int
COINLINKAGE
Clp_secondaryStatus
(Clp_Simplex * model);
159
COINLIBAPI
void
COINLINKAGE
Clp_setSecondaryStatus
(Clp_Simplex * model,
int
status);
161
COINLIBAPI
double
COINLINKAGE
Clp_optimizationDirection
(Clp_Simplex * model);
162
COINLIBAPI
void
COINLINKAGE
Clp_setOptimizationDirection
(Clp_Simplex * model,
double
value);
164
COINLIBAPI
double
* COINLINKAGE
Clp_primalRowSolution
(Clp_Simplex * model);
166
COINLIBAPI
double
* COINLINKAGE
Clp_primalColumnSolution
(Clp_Simplex * model);
168
COINLIBAPI
double
* COINLINKAGE
Clp_dualRowSolution
(Clp_Simplex * model);
170
COINLIBAPI
double
* COINLINKAGE
Clp_dualColumnSolution
(Clp_Simplex * model);
172
COINLIBAPI
double
* COINLINKAGE
Clp_rowLower
(Clp_Simplex * model);
174
COINLIBAPI
double
* COINLINKAGE
Clp_rowUpper
(Clp_Simplex * model);
176
COINLIBAPI
double
* COINLINKAGE
Clp_objective
(Clp_Simplex * model);
178
COINLIBAPI
double
* COINLINKAGE
Clp_columnLower
(Clp_Simplex * model);
180
COINLIBAPI
double
* COINLINKAGE
Clp_columnUpper
(Clp_Simplex * model);
182
COINLIBAPI
int
COINLINKAGE
Clp_getNumElements
(Clp_Simplex * model);
183
/* Column starts in matrix */
184
COINLIBAPI
const
CoinBigIndex * COINLINKAGE
Clp_getVectorStarts
(Clp_Simplex * model);
185
/* Row indices in matrix */
186
COINLIBAPI
const
int
* COINLINKAGE
Clp_getIndices
(Clp_Simplex * model);
187
/* Column vector lengths in matrix */
188
COINLIBAPI
const
int
* COINLINKAGE
Clp_getVectorLengths
(Clp_Simplex * model);
189
/* Element values in matrix */
190
COINLIBAPI
const
double
* COINLINKAGE
Clp_getElements
(Clp_Simplex * model);
192
COINLIBAPI
double
COINLINKAGE
Clp_objectiveValue
(Clp_Simplex * model);
194
COINLIBAPI
char
* COINLINKAGE
Clp_integerInformation
(Clp_Simplex * model);
197
COINLIBAPI
double
* COINLINKAGE
Clp_infeasibilityRay
(Clp_Simplex * model);
198
COINLIBAPI
double
* COINLINKAGE
Clp_unboundedRay
(Clp_Simplex * model);
200
COINLIBAPI
int
COINLINKAGE
Clp_statusExists
(Clp_Simplex * model);
202
COINLIBAPI
unsigned
char
* COINLINKAGE
Clp_statusArray
(Clp_Simplex * model);
204
COINLIBAPI
void
COINLINKAGE
Clp_copyinStatus
(Clp_Simplex * model,
const
unsigned
char
* statusArray);
205
/* status values are as in ClpSimplex.hpp i.e. 0 - free, 1 basic, 2 at upper,
206
3 at lower, 4 superbasic, (5 fixed) */
207
/* Get variable basis info */
208
COINLIBAPI
int
COINLINKAGE
Clp_getColumnStatus
(Clp_Simplex * model,
int
sequence);
209
/* Get row basis info */
210
COINLIBAPI
int
COINLINKAGE
Clp_getRowStatus
(Clp_Simplex * model,
int
sequence);
211
/* Set variable basis info (and value if at bound) */
212
COINLIBAPI
void
COINLINKAGE
Clp_setColumnStatus
(Clp_Simplex * model,
213
int
sequence,
int
value);
214
/* Set row basis info (and value if at bound) */
215
COINLIBAPI
void
COINLINKAGE
Clp_setRowStatus
(Clp_Simplex * model,
216
int
sequence,
int
value);
217
219
COINLIBAPI
void
COINLINKAGE
Clp_setUserPointer
(Clp_Simplex * model,
void
* pointer);
220
COINLIBAPI
void
* COINLINKAGE
Clp_getUserPointer
(Clp_Simplex * model);
226
COINLIBAPI
void
COINLINKAGE
Clp_registerCallBack
(Clp_Simplex * model,
227
clp_callback userCallBack);
229
COINLIBAPI
void
COINLINKAGE
Clp_clearCallBack
(Clp_Simplex * model);
238
COINLIBAPI
void
COINLINKAGE
Clp_setLogLevel
(Clp_Simplex * model,
int
value);
239
COINLIBAPI
int
COINLINKAGE
Clp_logLevel
(Clp_Simplex * model);
241
COINLIBAPI
int
COINLINKAGE
Clp_lengthNames
(Clp_Simplex * model);
243
COINLIBAPI
void
COINLINKAGE
Clp_rowName
(Clp_Simplex * model,
int
iRow,
char
* name);
245
COINLIBAPI
void
COINLINKAGE
Clp_columnName
(Clp_Simplex * model,
int
iColumn,
char
* name);
246
255
COINLIBAPI
int
COINLINKAGE
Clp_initialSolve
(Clp_Simplex * model);
257
COINLIBAPI
int
COINLINKAGE
Clp_initialDualSolve
(Clp_Simplex * model);
259
COINLIBAPI
int
COINLINKAGE
Clp_initialPrimalSolve
(Clp_Simplex * model);
261
COINLIBAPI
int
COINLINKAGE
Clp_initialBarrierSolve
(Clp_Simplex * model);
263
COINLIBAPI
int
COINLINKAGE
Clp_initialBarrierNoCrossSolve
(Clp_Simplex * model);
265
COINLIBAPI
int
COINLINKAGE
Clp_dual
(Clp_Simplex * model,
int
ifValuesPass);
267
COINLIBAPI
int
COINLINKAGE
Clp_primal
(Clp_Simplex * model,
int
ifValuesPass);
268
#ifndef SLIM_CLP
269
270
COINLIBAPI
void
COINLINKAGE
Clp_idiot
(Clp_Simplex * model,
int
tryhard);
271
#endif
272
273
COINLIBAPI
void
COINLINKAGE
Clp_scaling
(Clp_Simplex * model,
int
mode);
275
COINLIBAPI
int
COINLINKAGE
Clp_scalingFlag
(Clp_Simplex * model);
290
COINLIBAPI
int
COINLINKAGE
Clp_crash
(Clp_Simplex * model,
double
gap,
int
pivot);
297
COINLIBAPI
int
COINLINKAGE
Clp_primalFeasible
(Clp_Simplex * model);
299
COINLIBAPI
int
COINLINKAGE
Clp_dualFeasible
(Clp_Simplex * model);
301
COINLIBAPI
double
COINLINKAGE
Clp_dualBound
(Clp_Simplex * model);
302
COINLIBAPI
void
COINLINKAGE
Clp_setDualBound
(Clp_Simplex * model,
double
value);
304
COINLIBAPI
double
COINLINKAGE
Clp_infeasibilityCost
(Clp_Simplex * model);
305
COINLIBAPI
void
COINLINKAGE
Clp_setInfeasibilityCost
(Clp_Simplex * model,
double
value);
314
COINLIBAPI
int
COINLINKAGE
Clp_perturbation
(Clp_Simplex * model);
315
COINLIBAPI
void
COINLINKAGE
Clp_setPerturbation
(Clp_Simplex * model,
int
value);
317
COINLIBAPI
int
COINLINKAGE
Clp_algorithm
(Clp_Simplex * model);
319
COINLIBAPI
void
COINLINKAGE
Clp_setAlgorithm
(Clp_Simplex * model,
int
value);
321
COINLIBAPI
double
COINLINKAGE
Clp_sumDualInfeasibilities
(Clp_Simplex * model);
323
COINLIBAPI
int
COINLINKAGE
Clp_numberDualInfeasibilities
(Clp_Simplex * model);
325
COINLIBAPI
double
COINLINKAGE
Clp_sumPrimalInfeasibilities
(Clp_Simplex * model);
327
COINLIBAPI
int
COINLINKAGE
Clp_numberPrimalInfeasibilities
(Clp_Simplex * model);
334
COINLIBAPI
int
COINLINKAGE
Clp_saveModel
(Clp_Simplex * model,
const
char
* fileName);
337
COINLIBAPI
int
COINLINKAGE
Clp_restoreModel
(Clp_Simplex * model,
const
char
* fileName);
338
341
COINLIBAPI
void
COINLINKAGE
Clp_checkSolution
(Clp_Simplex * model);
344
/******************** End of most useful part **************/
348
COINLIBAPI
int
COINLINKAGE
Clp_getNumRows
(Clp_Simplex * model);
350
COINLIBAPI
int
COINLINKAGE
Clp_getNumCols
(Clp_Simplex * model);
352
COINLIBAPI
int
COINLINKAGE
Clp_getIterationCount
(Clp_Simplex * model);
354
COINLIBAPI
int
COINLINKAGE
Clp_isAbandoned
(Clp_Simplex * model);
356
COINLIBAPI
int
COINLINKAGE
Clp_isProvenOptimal
(Clp_Simplex * model);
358
COINLIBAPI
int
COINLINKAGE
Clp_isProvenPrimalInfeasible
(Clp_Simplex * model);
360
COINLIBAPI
int
COINLINKAGE
Clp_isProvenDualInfeasible
(Clp_Simplex * model);
362
COINLIBAPI
int
COINLINKAGE
Clp_isPrimalObjectiveLimitReached
(Clp_Simplex * model) ;
364
COINLIBAPI
int
COINLINKAGE
Clp_isDualObjectiveLimitReached
(Clp_Simplex * model) ;
366
COINLIBAPI
int
COINLINKAGE
Clp_isIterationLimitReached
(Clp_Simplex * model);
368
COINLIBAPI
double
COINLINKAGE
Clp_getObjSense
(Clp_Simplex * model);
370
COINLIBAPI
void
COINLINKAGE
Clp_setObjSense
(Clp_Simplex * model,
double
objsen);
372
COINLIBAPI
const
double
* COINLINKAGE
Clp_getRowActivity
(Clp_Simplex * model);
374
COINLIBAPI
const
double
* COINLINKAGE
Clp_getColSolution
(Clp_Simplex * model);
375
COINLIBAPI
void
COINLINKAGE
Clp_setColSolution
(Clp_Simplex * model,
const
double
* input);
377
COINLIBAPI
const
double
* COINLINKAGE
Clp_getRowPrice
(Clp_Simplex * model);
379
COINLIBAPI
const
double
* COINLINKAGE
Clp_getReducedCost
(Clp_Simplex * model);
381
COINLIBAPI
const
double
* COINLINKAGE
Clp_getRowLower
(Clp_Simplex * model);
383
COINLIBAPI
const
double
* COINLINKAGE
Clp_getRowUpper
(Clp_Simplex * model);
385
COINLIBAPI
const
double
* COINLINKAGE
Clp_getObjCoefficients
(Clp_Simplex * model);
387
COINLIBAPI
const
double
* COINLINKAGE
Clp_getColLower
(Clp_Simplex * model);
389
COINLIBAPI
const
double
* COINLINKAGE
Clp_getColUpper
(Clp_Simplex * model);
391
COINLIBAPI
double
COINLINKAGE
Clp_getObjValue
(Clp_Simplex * model);
393
COINLIBAPI
void
COINLINKAGE
Clp_printModel
(Clp_Simplex * model,
const
char
* prefix);
394
/* Small element value - elements less than this set to zero,
395
default is 1.0e-20 */
396
COINLIBAPI
double
COINLINKAGE
Clp_getSmallElementValue
(Clp_Simplex * model);
397
COINLIBAPI
void
COINLINKAGE
Clp_setSmallElementValue
(Clp_Simplex * model,
double
value);
399
#ifdef __cplusplus
400
}
401
#endif
402
#endif
Generated on Tue Mar 1 2016 22:38:51 by
1.8.4