00001
00002
00003
00004
00005
00006
00007
00008 #ifndef CbcModelC_H
00009 #define CbcModelC_H
00010
00011
00012 #include "Coin_C_defines.h"
00013
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00032
00034 COINLIBAPI double COINLINKAGE Cbc_getVersion()
00035 ;
00037 COINLIBAPI Cbc_Model * COINLINKAGE
00038 Cbc_newModel()
00039 ;
00041 COINLIBAPI void COINLINKAGE
00042 Cbc_deleteModel(Cbc_Model * model)
00043 ;
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062 COINLIBAPI void COINLINKAGE
00063 Cbc_loadProblem (Cbc_Model * model, const int numcols, const int numrows,
00064 const CoinBigIndex * start, const int* index,
00065 const double* value,
00066 const double* collb, const double* colub,
00067 const double* obj,
00068 const double* rowlb, const double* rowub)
00069 ;
00071 COINLIBAPI int COINLINKAGE
00072 Cbc_readMps(Cbc_Model * model, const char *filename)
00073 ;
00075 COINLIBAPI void COINLINKAGE
00076 Cbc_writeMps(Cbc_Model * model, const char *filename)
00077 ;
00079 COINLIBAPI char * COINLINKAGE
00080 Cbc_integerInformation(Cbc_Model * model)
00081 ;
00083 COINLIBAPI void COINLINKAGE
00084 Cbc_copyInIntegerInformation(Cbc_Model * model, const char * information)
00085 ;
00087 COINLIBAPI void COINLINKAGE
00088 Cbc_deleteIntegerInformation(Cbc_Model * model)
00089 ;
00091 COINLIBAPI void COINLINKAGE
00092 Cbc_resize (Cbc_Model * model, int newNumberRows, int newNumberColumns)
00093 ;
00095 COINLIBAPI void COINLINKAGE
00096 Cbc_deleteRows(Cbc_Model * model, int number, const int * which)
00097 ;
00099 COINLIBAPI void COINLINKAGE
00100 Cbc_addRows(Cbc_Model * model, const int number, const double * rowLower,
00101 const double * rowUpper,
00102 const int * rowStarts, const int * columns,
00103 const double * elements)
00104 ;
00105
00107 COINLIBAPI void COINLINKAGE
00108 Cbc_deleteColumns(Cbc_Model * model, int number, const int * which)
00109 ;
00111 COINLIBAPI void COINLINKAGE
00112 Cbc_addColumns(Cbc_Model * model, int number, const double * columnLower,
00113 const double * columnUpper,
00114 const double * objective,
00115 const int * columnStarts, const int * rows,
00116 const double * elements);
00118 COINLIBAPI void COINLINKAGE
00119 Cbc_dropNames(Cbc_Model * model)
00120 ;
00122 COINLIBAPI void COINLINKAGE
00123 Cbc_copyNames(Cbc_Model * model, const char * const * rowNamesIn,
00124 const char * const * columnNamesIn)
00125 ;
00126
00131 COINLIBAPI int COINLINKAGE
00132 Cbc_numberRows(Cbc_Model * model)
00133 ;
00135 COINLIBAPI int COINLINKAGE
00136 Cbc_numberColumns(Cbc_Model * model)
00137 ;
00139 COINLIBAPI double COINLINKAGE
00140 Cbc_primalTolerance(Cbc_Model * model)
00141 ;
00142 COINLIBAPI void COINLINKAGE
00143 Cbc_setPrimalTolerance(Cbc_Model * model, double value)
00144 ;
00146 COINLIBAPI double COINLINKAGE
00147 Cbc_dualTolerance(Cbc_Model * model)
00148 ;
00149 COINLIBAPI void COINLINKAGE
00150 Cbc_setDualTolerance(Cbc_Model * model, double value)
00151 ;
00152
00153 COINLIBAPI double COINLINKAGE
00154 Cbc_integerTolerance(Cbc_Model * model)
00155 ;
00156 COINLIBAPI void COINLINKAGE
00157 Cbc_setIntegerTolerance(Cbc_Model * model, double value)
00158 ;
00160 COINLIBAPI double COINLINKAGE
00161 Cbc_dualObjectiveLimit(Cbc_Model * model)
00162 ;
00163 COINLIBAPI void COINLINKAGE
00164 Cbc_setDualObjectiveLimit(Cbc_Model * model, double value)
00165 ;
00167 COINLIBAPI double COINLINKAGE
00168 Cbc_objectiveOffset(Cbc_Model * model)
00169 ;
00170 COINLIBAPI void COINLINKAGE
00171 Cbc_setObjectiveOffset(Cbc_Model * model, double value)
00172 ;
00174 COINLIBAPI void COINLINKAGE
00175 Cbc_problemName(Cbc_Model * model, int maxNumberCharacters, char * array)
00176 ;
00181 COINLIBAPI int COINLINKAGE
00182 Cbc_setProblemName(Cbc_Model * model, int maxNumberCharacters, char * array)
00183 ;
00185 COINLIBAPI int COINLINKAGE
00186 Cbc_numberIterations(Cbc_Model * model)
00187 ;
00188 COINLIBAPI void COINLINKAGE
00189 Cbc_setNumberIterations(Cbc_Model * model, int numberIterations)
00190 ;
00192 COINLIBAPI int COINLINKAGE
00193 Cbc_maximumIterations(Cbc_Model * model)
00194 ;
00195 COINLIBAPI void COINLINKAGE
00196 Cbc_setMaximumIterations(Cbc_Model * model, int value)
00197 ;
00199 COINLIBAPI int COINLINKAGE
00200 Cbc_maxNumNode(Cbc_Model * model)
00201 ;
00202 COINLIBAPI void COINLINKAGE
00203 Cbc_setMaxNumNode(Cbc_Model * model, int value)
00204 ;
00205
00206 COINLIBAPI int COINLINKAGE
00207 Cbc_maxNumSol(Cbc_Model * model)
00208 ;
00209 COINLIBAPI void COINLINKAGE
00210 Cbc_setMaxNumSol(Cbc_Model * model, int value)
00211 ;
00213 COINLIBAPI double COINLINKAGE
00214 Cbc_maximumSeconds(Cbc_Model * model)
00215 ;
00216 COINLIBAPI void COINLINKAGE
00217 Cbc_setMaximumSeconds(Cbc_Model * model, double value)
00218 ;
00220 COINLIBAPI int COINLINKAGE
00221 Cbc_hitMaximumIterations(Cbc_Model * model)
00222 ;
00230 COINLIBAPI int COINLINKAGE
00231 Cbc_status(Cbc_Model * model)
00232 ;
00234 COINLIBAPI void COINLINKAGE
00235 Cbc_setProblemStatus(Cbc_Model * model, int problemStatus)
00236 ;
00244 COINLIBAPI int COINLINKAGE
00245 Cbc_secondaryStatus(Cbc_Model * model)
00246 ;
00247 COINLIBAPI void COINLINKAGE
00248 Cbc_setSecondaryStatus(Cbc_Model * model, int status)
00249 ;
00251 COINLIBAPI double COINLINKAGE
00252 Cbc_optimizationDirection(Cbc_Model * model)
00253 ;
00254 COINLIBAPI void COINLINKAGE
00255 Cbc_setOptimizationDirection(Cbc_Model * model, double value)
00256 ;
00258 COINLIBAPI double * COINLINKAGE
00259 Cbc_primalRowSolution(Cbc_Model * model)
00260 ;
00262 COINLIBAPI double * COINLINKAGE
00263 Cbc_primalColumnSolution(Cbc_Model * model)
00264 ;
00266 COINLIBAPI double * COINLINKAGE
00267 Cbc_dualRowSolution(Cbc_Model * model)
00268 ;
00270 COINLIBAPI double * COINLINKAGE
00271 Cbc_dualColumnSolution(Cbc_Model * model)
00272 ;
00274 COINLIBAPI double* COINLINKAGE
00275 Cbc_rowLower(Cbc_Model * model)
00276 ;
00278 COINLIBAPI double* COINLINKAGE
00279 Cbc_rowUpper(Cbc_Model * model)
00280 ;
00282 COINLIBAPI double * COINLINKAGE
00283 Cbc_objective(Cbc_Model * model)
00284 ;
00286 COINLIBAPI double * COINLINKAGE
00287 Cbc_columnLower(Cbc_Model * model)
00288 ;
00290 COINLIBAPI double * COINLINKAGE
00291 Cbc_columnUpper(Cbc_Model * model)
00292 ;
00294 COINLIBAPI int COINLINKAGE
00295 Cbc_getNumElements(Cbc_Model * model)
00296 ;
00298 COINLIBAPI const CoinBigIndex * COINLINKAGE
00299 Cbc_getVectorStarts(Cbc_Model * model)
00300 ;
00302 COINLIBAPI const int * COINLINKAGE
00303 Cbc_getIndices(Cbc_Model * model)
00304 ;
00306 COINLIBAPI const int * COINLINKAGE
00307 Cbc_getVectorLengths(Cbc_Model * model)
00308 ;
00310 COINLIBAPI const double * COINLINKAGE
00311 Cbc_getElements(Cbc_Model * model)
00312 ;
00314 COINLIBAPI double COINLINKAGE
00315 Cbc_objectiveValue(Cbc_Model * model)
00316 ;
00319 COINLIBAPI double * COINLINKAGE
00320 Cbc_infeasibilityRay(Cbc_Model * model)
00321 ;
00322 COINLIBAPI double * COINLINKAGE
00323 Cbc_unboundedRay(Cbc_Model * model)
00324 ;
00326 COINLIBAPI int COINLINKAGE
00327 Cbc_statusExists(Cbc_Model * model)
00328 ;
00330 COINLIBAPI void COINLINKAGE
00331 Cbc_getBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
00332 ;
00334 COINLIBAPI void COINLINKAGE
00335 Cbc_setBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
00336 ;
00337
00339 COINLIBAPI void COINLINKAGE
00340 Cbc_setUserPointer (Cbc_Model * model, void * pointer)
00341 ;
00342 COINLIBAPI void * COINLINKAGE
00343 Cbc_getUserPointer (Cbc_Model * model)
00344 ;
00350 COINLIBAPI void COINLINKAGE
00351 Cbc_registerCallBack(Cbc_Model * model,
00352 cbc_callback userCallBack)
00353 ;
00355 COINLIBAPI void COINLINKAGE
00356 Cbc_clearCallBack(Cbc_Model * model)
00357 ;
00366 COINLIBAPI void COINLINKAGE
00367 Cbc_setLogLevel(Cbc_Model * model, int value)
00368 ;
00369 COINLIBAPI int COINLINKAGE
00370 Cbc_logLevel(Cbc_Model * model)
00371 ;
00373 COINLIBAPI int COINLINKAGE
00374 Cbc_lengthNames(Cbc_Model * model)
00375 ;
00377 COINLIBAPI void COINLINKAGE
00378 Cbc_rowName(Cbc_Model * model, int iRow, char * name)
00379 ;
00381 COINLIBAPI void COINLINKAGE
00382 Cbc_columnName(Cbc_Model * model, int iColumn, char * name)
00383 ;
00384
00393 COINLIBAPI int COINLINKAGE
00394 Cbc_initialSolve(Cbc_Model * model)
00395 ;
00396
00397
00398
00399 COINLIBAPI int COINLINKAGE
00400 Cbc_branchAndBound(Cbc_Model * model)
00401 ;
00403 COINLIBAPI void COINLINKAGE
00404 Cbc_scaling(Cbc_Model * model, int mode)
00405 ;
00407 COINLIBAPI int COINLINKAGE
00408 Cbc_scalingFlag(Cbc_Model * model)
00409 ;
00424 COINLIBAPI int COINLINKAGE
00425 Cbc_crash(Cbc_Model * model, double gap, int pivot)
00426 ;
00433 COINLIBAPI int COINLINKAGE
00434 Cbc_primalFeasible(Cbc_Model * model)
00435 ;
00437 COINLIBAPI int COINLINKAGE
00438 Cbc_dualFeasible(Cbc_Model * model)
00439 ;
00441 COINLIBAPI double COINLINKAGE
00442 Cbc_dualBound(Cbc_Model * model)
00443 ;
00444 COINLIBAPI void COINLINKAGE
00445 Cbc_setDualBound(Cbc_Model * model, double value)
00446 ;
00448 COINLIBAPI double COINLINKAGE
00449 Cbc_infeasibilityCost(Cbc_Model * model)
00450 ;
00451 COINLIBAPI void COINLINKAGE
00452 Cbc_setInfeasibilityCost(Cbc_Model * model, double value)
00453 ;
00462 COINLIBAPI int COINLINKAGE
00463 Cbc_perturbation(Cbc_Model * model)
00464 ;
00465 COINLIBAPI void COINLINKAGE
00466 Cbc_setPerturbation(Cbc_Model * model, int value)
00467 ;
00469 COINLIBAPI int COINLINKAGE
00470 Cbc_algorithm(Cbc_Model * model)
00471 ;
00473 COINLIBAPI void COINLINKAGE
00474 Cbc_setAlgorithm(Cbc_Model * model, int value)
00475 ;
00477 COINLIBAPI double COINLINKAGE
00478 Cbc_sumDualInfeasibilities(Cbc_Model * model)
00479 ;
00481 COINLIBAPI int COINLINKAGE
00482 Cbc_numberDualInfeasibilities(Cbc_Model * model)
00483 ;
00485 COINLIBAPI double COINLINKAGE
00486 Cbc_sumPrimalInfeasibilities(Cbc_Model * model)
00487 ;
00489 COINLIBAPI int COINLINKAGE
00490 Cbc_numberPrimalInfeasibilities(Cbc_Model * model)
00491 ;
00498 COINLIBAPI int COINLINKAGE
00499 Cbc_saveModel(Cbc_Model * model, const char * fileName)
00500 ;
00503 COINLIBAPI int COINLINKAGE
00504 Cbc_restoreModel(Cbc_Model * model, const char * fileName)
00505 ;
00506
00509 COINLIBAPI void COINLINKAGE
00510 Cbc_checkSolution(Cbc_Model * model)
00511 ;
00514
00518 COINLIBAPI int COINLINKAGE
00519 Cbc_getNumRows(Cbc_Model * model)
00520 ;
00522 COINLIBAPI int COINLINKAGE
00523 Cbc_getNumCols(Cbc_Model * model)
00524 ;
00526 COINLIBAPI int COINLINKAGE
00527 Cbc_getIterationCount(Cbc_Model * model)
00528 ;
00530 COINLIBAPI int COINLINKAGE
00531 Cbc_isAbandoned(Cbc_Model * model)
00532 ;
00534 COINLIBAPI int COINLINKAGE
00535 Cbc_isProvenOptimal(Cbc_Model * model)
00536 ;
00538 COINLIBAPI int COINLINKAGE
00539 Cbc_isProvenPrimalInfeasible(Cbc_Model * model)
00540 ;
00542 COINLIBAPI int COINLINKAGE
00543 Cbc_isProvenDualInfeasible(Cbc_Model * model)
00544 ;
00546 COINLIBAPI int COINLINKAGE
00547 Cbc_isPrimalObjectiveLimitReached(Cbc_Model * model)
00548 ;
00550 COINLIBAPI int COINLINKAGE
00551 Cbc_isDualObjectiveLimitReached(Cbc_Model * model)
00552 ;
00554 COINLIBAPI int COINLINKAGE
00555 Cbc_isIterationLimitReached(Cbc_Model * model)
00556 ;
00558 COINLIBAPI double COINLINKAGE
00559 Cbc_getObjSense(Cbc_Model * model)
00560 ;
00562 COINLIBAPI const double * COINLINKAGE
00563 Cbc_getRowActivity(Cbc_Model * model)
00564 ;
00566 COINLIBAPI const double * COINLINKAGE
00567 Cbc_getColSolution(Cbc_Model * model)
00568 ;
00569 COINLIBAPI void COINLINKAGE
00570 Cbc_setColSolution(Cbc_Model * model, const double * input)
00571 ;
00573 COINLIBAPI const double * COINLINKAGE
00574 Cbc_getRowPrice(Cbc_Model * model)
00575 ;
00577 COINLIBAPI const double * COINLINKAGE
00578 Cbc_getReducedCost(Cbc_Model * model)
00579 ;
00581 COINLIBAPI const double* COINLINKAGE
00582 Cbc_getRowLower(Cbc_Model * model)
00583 ;
00585 COINLIBAPI const double* COINLINKAGE
00586 Cbc_getRowUpper(Cbc_Model * model)
00587 ;
00589 COINLIBAPI const double * COINLINKAGE
00590 Cbc_getObjCoefficients(Cbc_Model * model)
00591 ;
00593 COINLIBAPI const double * COINLINKAGE
00594 Cbc_getColLower(Cbc_Model * model)
00595 ;
00597 COINLIBAPI const double * COINLINKAGE
00598 Cbc_getColUpper(Cbc_Model * model)
00599 ;
00601 COINLIBAPI double COINLINKAGE
00602 Cbc_getObjValue(Cbc_Model * model)
00603 ;
00605 COINLIBAPI void COINLINKAGE
00606 Cbc_printModel(Cbc_Model * model, const char * argPrefix)
00607 ;
00609 COINLIBAPI int COINLINKAGE
00610 Cbc_isInteger(Cbc_Model * model, int i)
00611 ;
00613 COINLIBAPI double COINLINKAGE
00614 Cbc_cpuTime(Cbc_Model * model)
00615 ;
00617 COINLIBAPI int COINLINKAGE
00618 Cbc_getNodeCount(Cbc_Model * model)
00619 ;
00621 COINLIBAPI Cbc_Model * COINLINKAGE
00622 Cbc_clone(Cbc_Model * model)
00623 ;
00625 COINLIBAPI Cbc_Model * COINLINKAGE
00626 Cbc_setContinuous(Cbc_Model * model, int iColumn)
00627 ;
00629 COINLIBAPI void COINLINKAGE
00630 Cbc_addSOS_Dense(Cbc_Model * model, int numObjects, const int * len,
00631 const int ** which, const double * weights, const int type)
00632 ;
00634 COINLIBAPI void COINLINKAGE
00635 Cbc_addSOS_Sparse(Cbc_Model * model, const int * rowStarts,
00636 const int * rowIndices, const double * weights, const int type)
00637 ;
00639 COINLIBAPI void COINLINKAGE
00640 Cbc_deleteObjects(Cbc_Model * model)
00641 ;
00643 COINLIBAPI void COINLINKAGE
00644 Cbc_printSolution(Cbc_Model * model)
00645 ;
00647 COINLIBAPI int COINLINKAGE
00648 Cbc_initialDualSolve(Cbc_Model * model)
00649 ;
00651 COINLIBAPI int COINLINKAGE
00652 Cbc_initialPrimalSolve(Cbc_Model * model)
00653 ;
00655 COINLIBAPI int COINLINKAGE
00656 Cbc_dual(Cbc_Model * model, int ifValuesPass)
00657 ;
00659 COINLIBAPI int COINLINKAGE
00660 Cbc_primal(Cbc_Model * model, int ifValuesPass)
00661 ;
00663 #ifdef __cplusplus
00664 }
00665 #endif
00666 #endif