Cbc_C_Interface.h

Go to the documentation of this file.
00001 /* $Id: Cbc_C_Interface.h 2059 2014-08-23 16:31:35Z tkr $ */
00002 /*
00003   Copyright (C) 2004 International Business Machines Corporation and others.
00004   All Rights Reserved.
00005 
00006   This code is licensed under the terms of the Eclipse Public License (EPL).
00007 */
00008 #ifndef CbcModelC_H
00009 #define CbcModelC_H
00010 
00011 /* include all defines and ugly stuff */
00012 #include "Coin_C_defines.h"
00013 #include <stddef.h>
00014 
00015 /*
00016  * Original verison contributed by Bob Entriken,
00017  * significantly updated by Miles Lubin.
00018 */
00019 
00020 
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024 
00030 
00032     COINLIBAPI Cbc_Model * COINLINKAGE
00033     Cbc_newModel(void)
00034     ;
00036     COINLIBAPI void COINLINKAGE
00037     Cbc_deleteModel(Cbc_Model * model)
00038     ;
00040     COINLIBAPI const char* COINLINKAGE Cbc_getVersion(void)
00041     ;
00072     COINLIBAPI void COINLINKAGE
00073     Cbc_loadProblem (Cbc_Model * model,  const int numcols, const int numrows,
00074                      const CoinBigIndex * start, const int* index,
00075                      const double* value,
00076                      const double* collb, const double* colub,
00077                      const double* obj,
00078                      const double* rowlb, const double* rowub)
00079     ;
00081     COINLIBAPI int COINLINKAGE
00082     Cbc_readMps(Cbc_Model * model, const char *filename)
00083     ;
00085     COINLIBAPI void COINLINKAGE
00086     Cbc_writeMps(Cbc_Model * model, const char *filename)
00087     ;
00091     COINLIBAPI void COINLINKAGE
00092     Cbc_setInitialSolution(Cbc_Model *model, const double * sol)
00093     ;
00095     COINLIBAPI void COINLINKAGE
00096     Cbc_problemName(Cbc_Model * model, int maxNumberCharacters, char * array)
00097     ;
00102     COINLIBAPI int COINLINKAGE
00103     Cbc_setProblemName(Cbc_Model * model, const char * array)
00104     ;
00105 
00107     COINLIBAPI int COINLINKAGE
00108     Cbc_getNumElements(Cbc_Model * model)
00109     ;
00111     COINLIBAPI const CoinBigIndex * COINLINKAGE
00112     Cbc_getVectorStarts(Cbc_Model * model)
00113     ;
00115     COINLIBAPI const int * COINLINKAGE
00116     Cbc_getIndices(Cbc_Model * model)
00117     ;
00119     COINLIBAPI const double * COINLINKAGE
00120     Cbc_getElements(Cbc_Model * model)
00121     ;
00122 
00124     COINLIBAPI size_t COINLINKAGE
00125     Cbc_maxNameLength(Cbc_Model * model)
00126     ;
00128     COINLIBAPI void COINLINKAGE
00129     Cbc_getRowName(Cbc_Model * model, int iRow, char * name, size_t maxLength)
00130     ;
00132     COINLIBAPI void COINLINKAGE
00133     Cbc_getColName(Cbc_Model * model, int iColumn, char * name, size_t maxLength)
00134     ;
00136     COINLIBAPI void COINLINKAGE
00137     Cbc_setColName(Cbc_Model * model, int iColumn, const char * name)
00138     ;
00140     COINLIBAPI void COINLINKAGE
00141     Cbc_setRowName(Cbc_Model * model, int iRow, const char * name)
00142     ;
00144     COINLIBAPI int COINLINKAGE
00145     Cbc_getNumRows(Cbc_Model * model)
00146     ;
00148     COINLIBAPI int COINLINKAGE
00149     Cbc_getNumCols(Cbc_Model * model)
00150     ;
00152     COINLIBAPI void COINLINKAGE
00153     Cbc_setObjSense(Cbc_Model * model, double sense)
00154     ;
00156     COINLIBAPI double COINLINKAGE
00157     Cbc_getObjSense(Cbc_Model * model)
00158     ;
00160     COINLIBAPI const double* COINLINKAGE
00161     Cbc_getRowLower(Cbc_Model * model)
00162     ;
00164     COINLIBAPI void COINLINKAGE
00165     Cbc_setRowLower(Cbc_Model * model, int index, double value)
00166     ;
00168     COINLIBAPI const double* COINLINKAGE
00169     Cbc_getRowUpper(Cbc_Model * model)
00170     ;
00172     COINLIBAPI void COINLINKAGE
00173     Cbc_setRowUpper(Cbc_Model * model, int index, double value)
00174     ;
00176     COINLIBAPI const double * COINLINKAGE
00177     Cbc_getObjCoefficients(Cbc_Model * model)
00178     ;
00180     COINLIBAPI void COINLINKAGE
00181     Cbc_setObjCoeff(Cbc_Model * model, int index, double value)
00182     ;
00184     COINLIBAPI const double * COINLINKAGE
00185     Cbc_getColLower(Cbc_Model * model)
00186     ;
00188     COINLIBAPI void COINLINKAGE
00189     Cbc_setColLower(Cbc_Model * model, int index, double value)
00190     ;
00192     COINLIBAPI const double * COINLINKAGE
00193     Cbc_getColUpper(Cbc_Model * model)
00194     ;
00196     COINLIBAPI void COINLINKAGE
00197     Cbc_setColUpper(Cbc_Model * model, int index, double value)
00198     ;
00200     COINLIBAPI int COINLINKAGE
00201     Cbc_isInteger(Cbc_Model * model, int i)
00202     ;
00204     COINLIBAPI void COINLINKAGE
00205     Cbc_setContinuous(Cbc_Model * model, int iColumn)
00206     ;
00208     COINLIBAPI void COINLINKAGE
00209     Cbc_setInteger(Cbc_Model * model, int iColumn)
00210     ;
00213     COINLIBAPI void  COINLINKAGE
00214     Cbc_addSOS(Cbc_Model * model, int numRows, const int * rowStarts,
00215                const int * colIndices, const double * weights, const int type)
00216     ;
00218     COINLIBAPI void COINLINKAGE
00219     Cbc_printModel(Cbc_Model * model, const char * argPrefix)
00220     ;
00222     COINLIBAPI Cbc_Model * COINLINKAGE
00223     Cbc_clone(Cbc_Model * model)
00224     ;
00231     COINLIBAPI void COINLINKAGE
00232     Cbc_setParameter(Cbc_Model * model, const char * name, const char * value)
00233     ;
00234 
00235     
00241     COINLIBAPI void COINLINKAGE
00242     Cbc_registerCallBack(Cbc_Model * model,
00243                          cbc_callback userCallBack)
00244     ;
00246     COINLIBAPI void COINLINKAGE
00247     Cbc_clearCallBack(Cbc_Model * model)
00248     ;
00249 
00255     /* Solve the model with Cbc (using CbcMain1).
00256     */
00257     COINLIBAPI int COINLINKAGE
00258     Cbc_solve(Cbc_Model * model)
00259     ;
00265 
00267     COINLIBAPI double COINLINKAGE
00268     Cbc_sumPrimalInfeasibilities(Cbc_Model * model)
00269     ;
00271     COINLIBAPI int COINLINKAGE
00272     Cbc_numberPrimalInfeasibilities(Cbc_Model * model)
00273     ;
00274 
00277     COINLIBAPI void COINLINKAGE
00278     Cbc_checkSolution(Cbc_Model * model)
00279     ;
00280 
00282     COINLIBAPI int COINLINKAGE
00283     Cbc_getIterationCount(Cbc_Model * model)
00284     ;
00286     COINLIBAPI int COINLINKAGE
00287     Cbc_isAbandoned(Cbc_Model * model)
00288     ;
00290     COINLIBAPI int COINLINKAGE
00291     Cbc_isProvenOptimal(Cbc_Model * model)
00292     ;
00294     COINLIBAPI int COINLINKAGE
00295     Cbc_isProvenInfeasible(Cbc_Model * model)
00296     ;
00298     COINLIBAPI int COINLINKAGE
00299     Cbc_isContinuousUnbounded(Cbc_Model * model)
00300     ;
00302     COINLIBAPI int COINLINKAGE
00303     Cbc_isNodeLimitReached(Cbc_Model * model)
00304     ;
00306     COINLIBAPI int COINLINKAGE
00307     Cbc_isSecondsLimitReached(Cbc_Model * model)
00308     ;
00310     COINLIBAPI int COINLINKAGE
00311     Cbc_isSolutionLimitReached(Cbc_Model * model)
00312     ;
00314     COINLIBAPI int COINLINKAGE
00315     Cbc_isInitialSolveAbandoned(Cbc_Model * model)
00316     ;
00318     COINLIBAPI int COINLINKAGE
00319     Cbc_isInitialSolveProvenOptimal(Cbc_Model * model)
00320     ;
00322     COINLIBAPI int COINLINKAGE
00323     Cbc_isInitialSolveProvenPrimalInfeasible(Cbc_Model * model)
00324     ;
00328     COINLIBAPI const double * COINLINKAGE
00329     Cbc_getRowActivity(Cbc_Model * model)
00330     ;
00332     COINLIBAPI const double * COINLINKAGE
00333     Cbc_getColSolution(Cbc_Model * model)
00334     ;
00336     COINLIBAPI double COINLINKAGE
00337     Cbc_getObjValue(Cbc_Model * model)
00338     ;
00340     COINLIBAPI double COINLINKAGE
00341     Cbc_getBestPossibleObjValue(Cbc_Model * model)
00342     ;
00344     COINLIBAPI int COINLINKAGE
00345     Cbc_getNodeCount(Cbc_Model * model)
00346     ;
00348     COINLIBAPI void  COINLINKAGE
00349     Cbc_printSolution(Cbc_Model * model)
00350     ;
00360     COINLIBAPI int COINLINKAGE
00361     Cbc_status(Cbc_Model * model)
00362     ;
00375     COINLIBAPI int COINLINKAGE
00376     Cbc_secondaryStatus(Cbc_Model * model)
00377     ;
00379 #ifdef __cplusplus
00380 }
00381 #endif
00382 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 25 Aug 2014 for Cbc by  doxygen 1.6.1