00001
00002
00003
00004 #ifndef CbcModelC_H
00005 #define CbcModelC_H
00006
00007
00008 #include "Coin_C_defines.h"
00009
00015 #ifdef __cplusplus
00016 extern "C"{
00017 #endif
00018
00028
00030 COINLIBAPI double COINLINKAGE Cbc_getVersion()
00031 ;
00033 COINLIBAPI Cbc_Model * COINLINKAGE
00034 Cbc_newModel()
00035 ;
00037 COINLIBAPI void COINLINKAGE
00038 Cbc_deleteModel(Cbc_Model * model)
00039 ;
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058 COINLIBAPI void COINLINKAGE
00059 Cbc_loadProblem (Cbc_Model * model, const int numcols, const int numrows,
00060 const CoinBigIndex * start, const int* index,
00061 const double* value,
00062 const double* collb, const double* colub,
00063 const double* obj,
00064 const double* rowlb, const double* rowub)
00065 ;
00067 COINLIBAPI int COINLINKAGE
00068 Cbc_readMps(Cbc_Model * model,const char *filename)
00069 ;
00071 COINLIBAPI void COINLINKAGE
00072 Cbc_writeMps(Cbc_Model * model,const char *filename)
00073 ;
00075 COINLIBAPI char * COINLINKAGE
00076 Cbc_integerInformation(Cbc_Model * model)
00077 ;
00079 COINLIBAPI void COINLINKAGE
00080 Cbc_copyInIntegerInformation(Cbc_Model * model,const char * information)
00081 ;
00083 COINLIBAPI void COINLINKAGE
00084 Cbc_deleteIntegerInformation(Cbc_Model * model)
00085 ;
00087 COINLIBAPI void COINLINKAGE
00088 Cbc_resize (Cbc_Model * model, int newNumberRows, int newNumberColumns)
00089 ;
00091 COINLIBAPI void COINLINKAGE
00092 Cbc_deleteRows(Cbc_Model * model, int number, const int * which)
00093 ;
00095 COINLIBAPI void COINLINKAGE
00096 Cbc_addRows(Cbc_Model * model, const int number, const double * rowLower,
00097 const double * rowUpper,
00098 const int * rowStarts, const int * columns,
00099 const double * elements)
00100 ;
00101
00103 COINLIBAPI void COINLINKAGE
00104 Cbc_deleteColumns(Cbc_Model * model, int number, const int * which)
00105 ;
00107 COINLIBAPI void COINLINKAGE
00108 Cbc_addColumns(Cbc_Model * model, int number, const double * columnLower,
00109 const double * columnUpper,
00110 const double * objective,
00111 const int * columnStarts, const int * rows,
00112 const double * elements);
00114 COINLIBAPI void COINLINKAGE
00115 Cbc_dropNames(Cbc_Model * model)
00116 ;
00118 COINLIBAPI void COINLINKAGE
00119 Cbc_copyNames(Cbc_Model * model, const char * const * rowNamesIn,
00120 const char * const * columnNamesIn)
00121 ;
00122
00127 COINLIBAPI int COINLINKAGE
00128 Cbc_numberRows(Cbc_Model * model)
00129 ;
00131 COINLIBAPI int COINLINKAGE
00132 Cbc_numberColumns(Cbc_Model * model)
00133 ;
00135 COINLIBAPI double COINLINKAGE
00136 Cbc_primalTolerance(Cbc_Model * model)
00137 ;
00138 COINLIBAPI void COINLINKAGE
00139 Cbc_setPrimalTolerance(Cbc_Model * model, double value)
00140 ;
00142 COINLIBAPI double COINLINKAGE
00143 Cbc_dualTolerance(Cbc_Model * model)
00144 ;
00145 COINLIBAPI void COINLINKAGE
00146 Cbc_setDualTolerance(Cbc_Model * model, double value)
00147 ;
00148
00149 COINLIBAPI double COINLINKAGE
00150 Cbc_integerTolerance(Cbc_Model * model)
00151 ;
00152 COINLIBAPI void COINLINKAGE
00153 Cbc_setIntegerTolerance(Cbc_Model * model, double value)
00154 ;
00156 COINLIBAPI double COINLINKAGE
00157 Cbc_dualObjectiveLimit(Cbc_Model * model)
00158 ;
00159 COINLIBAPI void COINLINKAGE
00160 Cbc_setDualObjectiveLimit(Cbc_Model * model, double value)
00161 ;
00163 COINLIBAPI double COINLINKAGE
00164 Cbc_objectiveOffset(Cbc_Model * model)
00165 ;
00166 COINLIBAPI void COINLINKAGE
00167 Cbc_setObjectiveOffset(Cbc_Model * model, double value)
00168 ;
00170 COINLIBAPI void COINLINKAGE
00171 Cbc_problemName(Cbc_Model * model, int maxNumberCharacters, char * array)
00172 ;
00174 COINLIBAPI int COINLINKAGE
00175 Cbc_setProblemName(Cbc_Model * model, int maxNumberCharacters, char * array)
00176 ;
00178 COINLIBAPI int COINLINKAGE
00179 Cbc_numberIterations(Cbc_Model * model)
00180 ;
00181 COINLIBAPI void COINLINKAGE
00182 Cbc_setNumberIterations(Cbc_Model * model, int numberIterations)
00183 ;
00185 COINLIBAPI int COINLINKAGE
00186 Cbc_maximumIterations(Cbc_Model * model)
00187 ;
00188 COINLIBAPI void COINLINKAGE
00189 Cbc_setMaximumIterations(Cbc_Model * model, int value)
00190 ;
00192 COINLIBAPI int COINLINKAGE
00193 Cbc_maxNumNode(Cbc_Model * model)
00194 ;
00195 COINLIBAPI void COINLINKAGE
00196 Cbc_setMaxNumNode(Cbc_Model * model, int value)
00197 ;
00198
00199 COINLIBAPI int COINLINKAGE
00200 Cbc_maxNumSol(Cbc_Model * model)
00201 ;
00202 COINLIBAPI void COINLINKAGE
00203 Cbc_setMaxNumSol(Cbc_Model * model, int value)
00204 ;
00206 COINLIBAPI double COINLINKAGE
00207 Cbc_maximumSeconds(Cbc_Model * model)
00208 ;
00209 COINLIBAPI void COINLINKAGE
00210 Cbc_setMaximumSeconds(Cbc_Model * model, double value)
00211 ;
00213 COINLIBAPI int COINLINKAGE
00214 Cbc_hitMaximumIterations(Cbc_Model * model)
00215 ;
00223 COINLIBAPI int COINLINKAGE
00224 Cbc_status(Cbc_Model * model)
00225 ;
00227 COINLIBAPI void COINLINKAGE
00228 Cbc_setProblemStatus(Cbc_Model * model, int problemStatus)
00229 ;
00237 COINLIBAPI int COINLINKAGE
00238 Cbc_secondaryStatus(Cbc_Model * model)
00239 ;
00240 COINLIBAPI void COINLINKAGE
00241 Cbc_setSecondaryStatus(Cbc_Model * model, int status)
00242 ;
00244 COINLIBAPI double COINLINKAGE
00245 Cbc_optimizationDirection(Cbc_Model * model)
00246 ;
00247 COINLIBAPI void COINLINKAGE
00248 Cbc_setOptimizationDirection(Cbc_Model * model, double value)
00249 ;
00251 COINLIBAPI double * COINLINKAGE
00252 Cbc_primalRowSolution(Cbc_Model * model)
00253 ;
00255 COINLIBAPI double * COINLINKAGE
00256 Cbc_primalColumnSolution(Cbc_Model * model)
00257 ;
00259 COINLIBAPI double * COINLINKAGE
00260 Cbc_dualRowSolution(Cbc_Model * model)
00261 ;
00263 COINLIBAPI double * COINLINKAGE
00264 Cbc_dualColumnSolution(Cbc_Model * model)
00265 ;
00267 COINLIBAPI double* COINLINKAGE
00268 Cbc_rowLower(Cbc_Model * model)
00269 ;
00271 COINLIBAPI double* COINLINKAGE
00272 Cbc_rowUpper(Cbc_Model * model)
00273 ;
00275 COINLIBAPI double * COINLINKAGE
00276 Cbc_objective(Cbc_Model * model)
00277 ;
00279 COINLIBAPI double * COINLINKAGE
00280 Cbc_columnLower(Cbc_Model * model)
00281 ;
00283 COINLIBAPI double * COINLINKAGE
00284 Cbc_columnUpper(Cbc_Model * model)
00285 ;
00287 COINLIBAPI int COINLINKAGE
00288 Cbc_getNumElements(Cbc_Model * model)
00289 ;
00291 COINLIBAPI const CoinBigIndex * COINLINKAGE
00292 Cbc_getVectorStarts(Cbc_Model * model)
00293 ;
00295 COINLIBAPI const int * COINLINKAGE
00296 Cbc_getIndices(Cbc_Model * model)
00297 ;
00299 COINLIBAPI const int * COINLINKAGE
00300 Cbc_getVectorLengths(Cbc_Model * model)
00301 ;
00303 COINLIBAPI const double * COINLINKAGE
00304 Cbc_getElements(Cbc_Model * model)
00305 ;
00307 COINLIBAPI double COINLINKAGE
00308 Cbc_objectiveValue(Cbc_Model * model)
00309 ;
00312 COINLIBAPI double * COINLINKAGE
00313 Cbc_infeasibilityRay(Cbc_Model * model)
00314 ;
00315 COINLIBAPI double * COINLINKAGE
00316 Cbc_unboundedRay(Cbc_Model * model)
00317 ;
00319 COINLIBAPI int COINLINKAGE
00320 Cbc_statusExists(Cbc_Model * model)
00321 ;
00323 COINLIBAPI void COINLINKAGE
00324 Cbc_getBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
00325 ;
00327 COINLIBAPI void COINLINKAGE
00328 Cbc_setBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
00329 ;
00330
00332 COINLIBAPI void COINLINKAGE
00333 Cbc_setUserPointer (Cbc_Model * model, void * pointer)
00334 ;
00335 COINLIBAPI void * COINLINKAGE
00336 Cbc_getUserPointer (Cbc_Model * model)
00337 ;
00343 COINLIBAPI void COINLINKAGE
00344 Cbc_registerCallBack(Cbc_Model * model,
00345 cbc_callback userCallBack)
00346 ;
00348 COINLIBAPI void COINLINKAGE
00349 Cbc_clearCallBack(Cbc_Model * model)
00350 ;
00359 COINLIBAPI void COINLINKAGE
00360 Cbc_setLogLevel(Cbc_Model * model, int value)
00361 ;
00362 COINLIBAPI int COINLINKAGE
00363 Cbc_logLevel(Cbc_Model * model)
00364 ;
00366 COINLIBAPI int COINLINKAGE
00367 Cbc_lengthNames(Cbc_Model * model)
00368 ;
00370 COINLIBAPI void COINLINKAGE
00371 Cbc_rowName(Cbc_Model * model, int iRow, char * name)
00372 ;
00374 COINLIBAPI void COINLINKAGE
00375 Cbc_columnName(Cbc_Model * model, int iColumn, char * name)
00376 ;
00377
00386 COINLIBAPI int COINLINKAGE
00387 Cbc_initialSolve(Cbc_Model * model)
00388 ;
00389
00390
00391
00392 COINLIBAPI int COINLINKAGE
00393 Cbc_branchAndBound(Cbc_Model * model)
00394 ;
00396 COINLIBAPI void COINLINKAGE
00397 Cbc_scaling(Cbc_Model * model, int mode)
00398 ;
00400 COINLIBAPI int COINLINKAGE
00401 Cbc_scalingFlag(Cbc_Model * model)
00402 ;
00417 COINLIBAPI int COINLINKAGE
00418 Cbc_crash(Cbc_Model * model, double gap,int pivot)
00419 ;
00426 COINLIBAPI int COINLINKAGE
00427 Cbc_primalFeasible(Cbc_Model * model)
00428 ;
00430 COINLIBAPI int COINLINKAGE
00431 Cbc_dualFeasible(Cbc_Model * model)
00432 ;
00434 COINLIBAPI double COINLINKAGE
00435 Cbc_dualBound(Cbc_Model * model)
00436 ;
00437 COINLIBAPI void COINLINKAGE
00438 Cbc_setDualBound(Cbc_Model * model, double value)
00439 ;
00441 COINLIBAPI double COINLINKAGE
00442 Cbc_infeasibilityCost(Cbc_Model * model)
00443 ;
00444 COINLIBAPI void COINLINKAGE
00445 Cbc_setInfeasibilityCost(Cbc_Model * model, double value)
00446 ;
00455 COINLIBAPI int COINLINKAGE
00456 Cbc_perturbation(Cbc_Model * model)
00457 ;
00458 COINLIBAPI void COINLINKAGE
00459 Cbc_setPerturbation(Cbc_Model * model, int value)
00460 ;
00462 COINLIBAPI int COINLINKAGE
00463 Cbc_algorithm(Cbc_Model * model)
00464 ;
00466 COINLIBAPI void COINLINKAGE
00467 Cbc_setAlgorithm(Cbc_Model * model, int value)
00468 ;
00470 COINLIBAPI double COINLINKAGE
00471 Cbc_sumDualInfeasibilities(Cbc_Model * model)
00472 ;
00474 COINLIBAPI int COINLINKAGE
00475 Cbc_numberDualInfeasibilities(Cbc_Model * model)
00476 ;
00478 COINLIBAPI double COINLINKAGE
00479 Cbc_sumPrimalInfeasibilities(Cbc_Model * model)
00480 ;
00482 COINLIBAPI int COINLINKAGE
00483 Cbc_numberPrimalInfeasibilities(Cbc_Model * model)
00484 ;
00491 COINLIBAPI int COINLINKAGE
00492 Cbc_saveModel(Cbc_Model * model, const char * fileName)
00493 ;
00496 COINLIBAPI int COINLINKAGE
00497 Cbc_restoreModel(Cbc_Model * model, const char * fileName)
00498 ;
00499
00502 COINLIBAPI void COINLINKAGE
00503 Cbc_checkSolution(Cbc_Model * model)
00504 ;
00507
00511 COINLIBAPI int COINLINKAGE
00512 Cbc_getNumRows(Cbc_Model * model)
00513 ;
00515 COINLIBAPI int COINLINKAGE
00516 Cbc_getNumCols(Cbc_Model * model)
00517 ;
00519 COINLIBAPI int COINLINKAGE
00520 Cbc_getIterationCount(Cbc_Model * model)
00521 ;
00523 COINLIBAPI int COINLINKAGE
00524 Cbc_isAbandoned(Cbc_Model * model)
00525 ;
00527 COINLIBAPI int COINLINKAGE
00528 Cbc_isProvenOptimal(Cbc_Model * model)
00529 ;
00531 COINLIBAPI int COINLINKAGE
00532 Cbc_isProvenPrimalInfeasible(Cbc_Model * model)
00533 ;
00535 COINLIBAPI int COINLINKAGE
00536 Cbc_isProvenDualInfeasible(Cbc_Model * model)
00537 ;
00539 COINLIBAPI int COINLINKAGE
00540 Cbc_isPrimalObjectiveLimitReached(Cbc_Model * model)
00541 ;
00543 COINLIBAPI int COINLINKAGE
00544 Cbc_isDualObjectiveLimitReached(Cbc_Model * model)
00545 ;
00547 COINLIBAPI int COINLINKAGE
00548 Cbc_isIterationLimitReached(Cbc_Model * model)
00549 ;
00551 COINLIBAPI double COINLINKAGE
00552 Cbc_getObjSense(Cbc_Model * model)
00553 ;
00555 COINLIBAPI const double * COINLINKAGE
00556 Cbc_getRowActivity(Cbc_Model * model)
00557 ;
00559 COINLIBAPI const double * COINLINKAGE
00560 Cbc_getColSolution(Cbc_Model * model)
00561 ;
00562 COINLIBAPI void COINLINKAGE
00563 Cbc_setColSolution(Cbc_Model * model, const double * input)
00564 ;
00566 COINLIBAPI const double * COINLINKAGE
00567 Cbc_getRowPrice(Cbc_Model * model)
00568 ;
00570 COINLIBAPI const double * COINLINKAGE
00571 Cbc_getReducedCost(Cbc_Model * model)
00572 ;
00574 COINLIBAPI const double* COINLINKAGE
00575 Cbc_getRowLower(Cbc_Model * model)
00576 ;
00578 COINLIBAPI const double* COINLINKAGE
00579 Cbc_getRowUpper(Cbc_Model * model)
00580 ;
00582 COINLIBAPI const double * COINLINKAGE
00583 Cbc_getObjCoefficients(Cbc_Model * model)
00584 ;
00586 COINLIBAPI const double * COINLINKAGE
00587 Cbc_getColLower(Cbc_Model * model)
00588 ;
00590 COINLIBAPI const double * COINLINKAGE
00591 Cbc_getColUpper(Cbc_Model * model)
00592 ;
00594 COINLIBAPI double COINLINKAGE
00595 Cbc_getObjValue(Cbc_Model * model)
00596 ;
00598 COINLIBAPI void COINLINKAGE
00599 Cbc_printModel(Cbc_Model * model, const char * argPrefix)
00600 ;
00602 COINLIBAPI int COINLINKAGE
00603 Cbc_isInteger(Cbc_Model * model, int i)
00604 ;
00606 COINLIBAPI double COINLINKAGE
00607 Cbc_cpuTime(Cbc_Model * model)
00608 ;
00610 COINLIBAPI int COINLINKAGE
00611 Cbc_getNodeCount(Cbc_Model * model)
00612 ;
00614 COINLIBAPI Cbc_Model * COINLINKAGE
00615 Cbc_clone(Cbc_Model * model)
00616 ;
00618 COINLIBAPI Cbc_Model * COINLINKAGE
00619 Cbc_setContinuous(Cbc_Model * model, int iColumn)
00620 ;
00622 COINLIBAPI void COINLINKAGE
00623 Cbc_addSOS_Dense(Cbc_Model * model, int numObjects, const int * len,
00624 const int ** which, const double * weights, const int type)
00625 ;
00627 COINLIBAPI void COINLINKAGE
00628 Cbc_addSOS_Sparse(Cbc_Model * model, const int * rowStarts,
00629 const int * rowIndices, const double * weights, const int type)
00630 ;
00632 COINLIBAPI void COINLINKAGE
00633 Cbc_deleteObjects(Cbc_Model * model)
00634 ;
00636 COINLIBAPI void COINLINKAGE
00637 Cbc_printSolution(Cbc_Model * model)
00638 ;
00640 COINLIBAPI int COINLINKAGE
00641 Cbc_initialDualSolve(Cbc_Model * model)
00642 ;
00644 COINLIBAPI int COINLINKAGE
00645 Cbc_initialPrimalSolve(Cbc_Model * model)
00646 ;
00648 COINLIBAPI int COINLINKAGE
00649 Cbc_dual(Cbc_Model * model, int ifValuesPass)
00650 ;
00652 COINLIBAPI int COINLINKAGE
00653 Cbc_primal(Cbc_Model * model, int ifValuesPass)
00654 ;
00656 #ifdef __cplusplus
00657 }
00658 #endif
00659 #endif