00001
00002
00003 #ifndef CbcModelC_H
00004 #define CbcModelC_H
00005
00006
00007 #include "Coin_C_defines.h"
00008
00014 #ifdef __cplusplus
00015 extern "C"{
00016 #endif
00017
00027
00029 COINLIBAPI double COINLINKAGE Cbc_getVersion()
00030 ;
00032 COINLIBAPI Cbc_Model * COINLINKAGE
00033 Cbc_newModel()
00034 ;
00036 COINLIBAPI void COINLINKAGE
00037 Cbc_deleteModel(Cbc_Model * model)
00038 ;
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057 COINLIBAPI void COINLINKAGE
00058 Cbc_loadProblem (Cbc_Model * model, const int numcols, const int numrows,
00059 const CoinBigIndex * start, const int* index,
00060 const double* value,
00061 const double* collb, const double* colub,
00062 const double* obj,
00063 const double* rowlb, const double* rowub)
00064 ;
00066 COINLIBAPI int COINLINKAGE
00067 Cbc_readMps(Cbc_Model * model,const char *filename)
00068 ;
00070 COINLIBAPI void COINLINKAGE
00071 Cbc_writeMps(Cbc_Model * model,const char *filename)
00072 ;
00074 COINLIBAPI char * COINLINKAGE
00075 Cbc_integerInformation(Cbc_Model * model)
00076 ;
00078 COINLIBAPI void COINLINKAGE
00079 Cbc_copyInIntegerInformation(Cbc_Model * model,const char * information)
00080 ;
00082 COINLIBAPI void COINLINKAGE
00083 Cbc_deleteIntegerInformation(Cbc_Model * model)
00084 ;
00086 COINLIBAPI void COINLINKAGE
00087 Cbc_resize (Cbc_Model * model, int newNumberRows, int newNumberColumns)
00088 ;
00090 COINLIBAPI void COINLINKAGE
00091 Cbc_deleteRows(Cbc_Model * model, int number, const int * which)
00092 ;
00094 COINLIBAPI void COINLINKAGE
00095 Cbc_addRows(Cbc_Model * model, const int number, const double * rowLower,
00096 const double * rowUpper,
00097 const int * rowStarts, const int * columns,
00098 const double * elements)
00099 ;
00100
00102 COINLIBAPI void COINLINKAGE
00103 Cbc_deleteColumns(Cbc_Model * model, int number, const int * which)
00104 ;
00106 COINLIBAPI void COINLINKAGE
00107 Cbc_addColumns(Cbc_Model * model, int number, const double * columnLower,
00108 const double * columnUpper,
00109 const double * objective,
00110 const int * columnStarts, const int * rows,
00111 const double * elements);
00113 COINLIBAPI void COINLINKAGE
00114 Cbc_dropNames(Cbc_Model * model)
00115 ;
00117 COINLIBAPI void COINLINKAGE
00118 Cbc_copyNames(Cbc_Model * model, const char * const * rowNamesIn,
00119 const char * const * columnNamesIn)
00120 ;
00121
00126 COINLIBAPI int COINLINKAGE
00127 Cbc_numberRows(Cbc_Model * model)
00128 ;
00130 COINLIBAPI int COINLINKAGE
00131 Cbc_numberColumns(Cbc_Model * model)
00132 ;
00134 COINLIBAPI double COINLINKAGE
00135 Cbc_primalTolerance(Cbc_Model * model)
00136 ;
00137 COINLIBAPI void COINLINKAGE
00138 Cbc_setPrimalTolerance(Cbc_Model * model, double value)
00139 ;
00141 COINLIBAPI double COINLINKAGE
00142 Cbc_dualTolerance(Cbc_Model * model)
00143 ;
00144 COINLIBAPI void COINLINKAGE
00145 Cbc_setDualTolerance(Cbc_Model * model, double value)
00146 ;
00147
00148 COINLIBAPI double COINLINKAGE
00149 Cbc_integerTolerance(Cbc_Model * model)
00150 ;
00151 COINLIBAPI void COINLINKAGE
00152 Cbc_setIntegerTolerance(Cbc_Model * model, double value)
00153 ;
00155 COINLIBAPI double COINLINKAGE
00156 Cbc_dualObjectiveLimit(Cbc_Model * model)
00157 ;
00158 COINLIBAPI void COINLINKAGE
00159 Cbc_setDualObjectiveLimit(Cbc_Model * model, double value)
00160 ;
00162 COINLIBAPI double COINLINKAGE
00163 Cbc_objectiveOffset(Cbc_Model * model)
00164 ;
00165 COINLIBAPI void COINLINKAGE
00166 Cbc_setObjectiveOffset(Cbc_Model * model, double value)
00167 ;
00169 COINLIBAPI void COINLINKAGE
00170 Cbc_problemName(Cbc_Model * model, int maxNumberCharacters, char * array)
00171 ;
00173 COINLIBAPI int COINLINKAGE
00174 Cbc_setProblemName(Cbc_Model * model, int maxNumberCharacters, char * array)
00175 ;
00177 COINLIBAPI int COINLINKAGE
00178 Cbc_numberIterations(Cbc_Model * model)
00179 ;
00180 COINLIBAPI void COINLINKAGE
00181 Cbc_setNumberIterations(Cbc_Model * model, int numberIterations)
00182 ;
00184 COINLIBAPI int COINLINKAGE
00185 Cbc_maximumIterations(Cbc_Model * model)
00186 ;
00187 COINLIBAPI void COINLINKAGE
00188 Cbc_setMaximumIterations(Cbc_Model * model, int value)
00189 ;
00191 COINLIBAPI int COINLINKAGE
00192 Cbc_maxNumNode(Cbc_Model * model)
00193 ;
00194 COINLIBAPI void COINLINKAGE
00195 Cbc_setMaxNumNode(Cbc_Model * model, int value)
00196 ;
00197
00198 COINLIBAPI int COINLINKAGE
00199 Cbc_maxNumSol(Cbc_Model * model)
00200 ;
00201 COINLIBAPI void COINLINKAGE
00202 Cbc_setMaxNumSol(Cbc_Model * model, int value)
00203 ;
00205 COINLIBAPI double COINLINKAGE
00206 Cbc_maximumSeconds(Cbc_Model * model)
00207 ;
00208 COINLIBAPI void COINLINKAGE
00209 Cbc_setMaximumSeconds(Cbc_Model * model, double value)
00210 ;
00212 COINLIBAPI int COINLINKAGE
00213 Cbc_hitMaximumIterations(Cbc_Model * model)
00214 ;
00222 COINLIBAPI int COINLINKAGE
00223 Cbc_status(Cbc_Model * model)
00224 ;
00226 COINLIBAPI void COINLINKAGE
00227 Cbc_setProblemStatus(Cbc_Model * model, int problemStatus)
00228 ;
00236 COINLIBAPI int COINLINKAGE
00237 Cbc_secondaryStatus(Cbc_Model * model)
00238 ;
00239 COINLIBAPI void COINLINKAGE
00240 Cbc_setSecondaryStatus(Cbc_Model * model, int status)
00241 ;
00243 COINLIBAPI double COINLINKAGE
00244 Cbc_optimizationDirection(Cbc_Model * model)
00245 ;
00246 COINLIBAPI void COINLINKAGE
00247 Cbc_setOptimizationDirection(Cbc_Model * model, double value)
00248 ;
00250 COINLIBAPI double * COINLINKAGE
00251 Cbc_primalRowSolution(Cbc_Model * model)
00252 ;
00254 COINLIBAPI double * COINLINKAGE
00255 Cbc_primalColumnSolution(Cbc_Model * model)
00256 ;
00258 COINLIBAPI double * COINLINKAGE
00259 Cbc_dualRowSolution(Cbc_Model * model)
00260 ;
00262 COINLIBAPI double * COINLINKAGE
00263 Cbc_dualColumnSolution(Cbc_Model * model)
00264 ;
00266 COINLIBAPI double* COINLINKAGE
00267 Cbc_rowLower(Cbc_Model * model)
00268 ;
00270 COINLIBAPI double* COINLINKAGE
00271 Cbc_rowUpper(Cbc_Model * model)
00272 ;
00274 COINLIBAPI double * COINLINKAGE
00275 Cbc_objective(Cbc_Model * model)
00276 ;
00278 COINLIBAPI double * COINLINKAGE
00279 Cbc_columnLower(Cbc_Model * model)
00280 ;
00282 COINLIBAPI double * COINLINKAGE
00283 Cbc_columnUpper(Cbc_Model * model)
00284 ;
00286 COINLIBAPI int COINLINKAGE
00287 Cbc_getNumElements(Cbc_Model * model)
00288 ;
00290 COINLIBAPI const CoinBigIndex * COINLINKAGE
00291 Cbc_getVectorStarts(Cbc_Model * model)
00292 ;
00294 COINLIBAPI const int * COINLINKAGE
00295 Cbc_getIndices(Cbc_Model * model)
00296 ;
00298 COINLIBAPI const int * COINLINKAGE
00299 Cbc_getVectorLengths(Cbc_Model * model)
00300 ;
00302 COINLIBAPI const double * COINLINKAGE
00303 Cbc_getElements(Cbc_Model * model)
00304 ;
00306 COINLIBAPI double COINLINKAGE
00307 Cbc_objectiveValue(Cbc_Model * model)
00308 ;
00311 COINLIBAPI double * COINLINKAGE
00312 Cbc_infeasibilityRay(Cbc_Model * model)
00313 ;
00314 COINLIBAPI double * COINLINKAGE
00315 Cbc_unboundedRay(Cbc_Model * model)
00316 ;
00318 COINLIBAPI int COINLINKAGE
00319 Cbc_statusExists(Cbc_Model * model)
00320 ;
00322 COINLIBAPI void COINLINKAGE
00323 Cbc_getBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
00324 ;
00326 COINLIBAPI void COINLINKAGE
00327 Cbc_setBasisStatus(Cbc_Model * model, int * cstat, int * rstat)
00328 ;
00329
00331 COINLIBAPI void COINLINKAGE
00332 Cbc_setUserPointer (Cbc_Model * model, void * pointer)
00333 ;
00334 COINLIBAPI void * COINLINKAGE
00335 Cbc_getUserPointer (Cbc_Model * model)
00336 ;
00342 COINLIBAPI void COINLINKAGE
00343 Cbc_registerCallBack(Cbc_Model * model,
00344 cbc_callback userCallBack)
00345 ;
00347 COINLIBAPI void COINLINKAGE
00348 Cbc_clearCallBack(Cbc_Model * model)
00349 ;
00358 COINLIBAPI void COINLINKAGE
00359 Cbc_setLogLevel(Cbc_Model * model, int value)
00360 ;
00361 COINLIBAPI int COINLINKAGE
00362 Cbc_logLevel(Cbc_Model * model)
00363 ;
00365 COINLIBAPI int COINLINKAGE
00366 Cbc_lengthNames(Cbc_Model * model)
00367 ;
00369 COINLIBAPI void COINLINKAGE
00370 Cbc_rowName(Cbc_Model * model, int iRow, char * name)
00371 ;
00373 COINLIBAPI void COINLINKAGE
00374 Cbc_columnName(Cbc_Model * model, int iColumn, char * name)
00375 ;
00376
00385 COINLIBAPI int COINLINKAGE
00386 Cbc_initialSolve(Cbc_Model * model)
00387 ;
00388
00389
00390
00391 COINLIBAPI int COINLINKAGE
00392 Cbc_branchAndBound(Cbc_Model * model)
00393 ;
00395 COINLIBAPI void COINLINKAGE
00396 Cbc_scaling(Cbc_Model * model, int mode)
00397 ;
00399 COINLIBAPI int COINLINKAGE
00400 Cbc_scalingFlag(Cbc_Model * model)
00401 ;
00416 COINLIBAPI int COINLINKAGE
00417 Cbc_crash(Cbc_Model * model, double gap,int pivot)
00418 ;
00425 COINLIBAPI int COINLINKAGE
00426 Cbc_primalFeasible(Cbc_Model * model)
00427 ;
00429 COINLIBAPI int COINLINKAGE
00430 Cbc_dualFeasible(Cbc_Model * model)
00431 ;
00433 COINLIBAPI double COINLINKAGE
00434 Cbc_dualBound(Cbc_Model * model)
00435 ;
00436 COINLIBAPI void COINLINKAGE
00437 Cbc_setDualBound(Cbc_Model * model, double value)
00438 ;
00440 COINLIBAPI double COINLINKAGE
00441 Cbc_infeasibilityCost(Cbc_Model * model)
00442 ;
00443 COINLIBAPI void COINLINKAGE
00444 Cbc_setInfeasibilityCost(Cbc_Model * model, double value)
00445 ;
00454 COINLIBAPI int COINLINKAGE
00455 Cbc_perturbation(Cbc_Model * model)
00456 ;
00457 COINLIBAPI void COINLINKAGE
00458 Cbc_setPerturbation(Cbc_Model * model, int value)
00459 ;
00461 COINLIBAPI int COINLINKAGE
00462 Cbc_algorithm(Cbc_Model * model)
00463 ;
00465 COINLIBAPI void COINLINKAGE
00466 Cbc_setAlgorithm(Cbc_Model * model, int value)
00467 ;
00469 COINLIBAPI double COINLINKAGE
00470 Cbc_sumDualInfeasibilities(Cbc_Model * model)
00471 ;
00473 COINLIBAPI int COINLINKAGE
00474 Cbc_numberDualInfeasibilities(Cbc_Model * model)
00475 ;
00477 COINLIBAPI double COINLINKAGE
00478 Cbc_sumPrimalInfeasibilities(Cbc_Model * model)
00479 ;
00481 COINLIBAPI int COINLINKAGE
00482 Cbc_numberPrimalInfeasibilities(Cbc_Model * model)
00483 ;
00490 COINLIBAPI int COINLINKAGE
00491 Cbc_saveModel(Cbc_Model * model, const char * fileName)
00492 ;
00495 COINLIBAPI int COINLINKAGE
00496 Cbc_restoreModel(Cbc_Model * model, const char * fileName)
00497 ;
00498
00501 COINLIBAPI void COINLINKAGE
00502 Cbc_checkSolution(Cbc_Model * model)
00503 ;
00506
00510 COINLIBAPI int COINLINKAGE
00511 Cbc_getNumRows(Cbc_Model * model)
00512 ;
00514 COINLIBAPI int COINLINKAGE
00515 Cbc_getNumCols(Cbc_Model * model)
00516 ;
00518 COINLIBAPI int COINLINKAGE
00519 Cbc_getIterationCount(Cbc_Model * model)
00520 ;
00522 COINLIBAPI int COINLINKAGE
00523 Cbc_isAbandoned(Cbc_Model * model)
00524 ;
00526 COINLIBAPI int COINLINKAGE
00527 Cbc_isProvenOptimal(Cbc_Model * model)
00528 ;
00530 COINLIBAPI int COINLINKAGE
00531 Cbc_isProvenPrimalInfeasible(Cbc_Model * model)
00532 ;
00534 COINLIBAPI int COINLINKAGE
00535 Cbc_isProvenDualInfeasible(Cbc_Model * model)
00536 ;
00538 COINLIBAPI int COINLINKAGE
00539 Cbc_isPrimalObjectiveLimitReached(Cbc_Model * model)
00540 ;
00542 COINLIBAPI int COINLINKAGE
00543 Cbc_isDualObjectiveLimitReached(Cbc_Model * model)
00544 ;
00546 COINLIBAPI int COINLINKAGE
00547 Cbc_isIterationLimitReached(Cbc_Model * model)
00548 ;
00550 COINLIBAPI double COINLINKAGE
00551 Cbc_getObjSense(Cbc_Model * model)
00552 ;
00554 COINLIBAPI const double * COINLINKAGE
00555 Cbc_getRowActivity(Cbc_Model * model)
00556 ;
00558 COINLIBAPI const double * COINLINKAGE
00559 Cbc_getColSolution(Cbc_Model * model)
00560 ;
00561 COINLIBAPI void COINLINKAGE
00562 Cbc_setColSolution(Cbc_Model * model, const double * input)
00563 ;
00565 COINLIBAPI const double * COINLINKAGE
00566 Cbc_getRowPrice(Cbc_Model * model)
00567 ;
00569 COINLIBAPI const double * COINLINKAGE
00570 Cbc_getReducedCost(Cbc_Model * model)
00571 ;
00573 COINLIBAPI const double* COINLINKAGE
00574 Cbc_getRowLower(Cbc_Model * model)
00575 ;
00577 COINLIBAPI const double* COINLINKAGE
00578 Cbc_getRowUpper(Cbc_Model * model)
00579 ;
00581 COINLIBAPI const double * COINLINKAGE
00582 Cbc_getObjCoefficients(Cbc_Model * model)
00583 ;
00585 COINLIBAPI const double * COINLINKAGE
00586 Cbc_getColLower(Cbc_Model * model)
00587 ;
00589 COINLIBAPI const double * COINLINKAGE
00590 Cbc_getColUpper(Cbc_Model * model)
00591 ;
00593 COINLIBAPI double COINLINKAGE
00594 Cbc_getObjValue(Cbc_Model * model)
00595 ;
00597 COINLIBAPI void COINLINKAGE
00598 Cbc_printModel(Cbc_Model * model, const char * argPrefix)
00599 ;
00601 COINLIBAPI int COINLINKAGE
00602 Cbc_isInteger(Cbc_Model * model, int i)
00603 ;
00605 COINLIBAPI double COINLINKAGE
00606 Cbc_cpuTime(Cbc_Model * model)
00607 ;
00609 COINLIBAPI int COINLINKAGE
00610 Cbc_getNodeCount(Cbc_Model * model)
00611 ;
00613 COINLIBAPI Cbc_Model * COINLINKAGE
00614 Cbc_clone(Cbc_Model * model)
00615 ;
00617 COINLIBAPI Cbc_Model * COINLINKAGE
00618 Cbc_setContinuous(Cbc_Model * model, int iColumn)
00619 ;
00621 COINLIBAPI void COINLINKAGE
00622 Cbc_addSOS_Dense(Cbc_Model * model, int numObjects, const int * len,
00623 const int ** which, const double * weights, const int type)
00624 ;
00626 COINLIBAPI void COINLINKAGE
00627 Cbc_addSOS_Sparse(Cbc_Model * model, const int * rowStarts,
00628 const int * rowIndices, const double * weights, const int type)
00629 ;
00631 COINLIBAPI void COINLINKAGE
00632 Cbc_deleteObjects(Cbc_Model * model)
00633 ;
00635 COINLIBAPI void COINLINKAGE
00636 Cbc_printSolution(Cbc_Model * model)
00637 ;
00639 COINLIBAPI int COINLINKAGE
00640 Cbc_initialDualSolve(Cbc_Model * model)
00641 ;
00643 COINLIBAPI int COINLINKAGE
00644 Cbc_initialPrimalSolve(Cbc_Model * model)
00645 ;
00647 COINLIBAPI int COINLINKAGE
00648 Cbc_dual(Cbc_Model * model, int ifValuesPass)
00649 ;
00651 COINLIBAPI int COINLINKAGE
00652 Cbc_primal(Cbc_Model * model, int ifValuesPass)
00653 ;
00655 #ifdef __cplusplus
00656 }
00657 #endif
00658 #endif