Cbc_C_Interface.h

Go to the documentation of this file.
00001 /* $Id: Cbc_C_Interface.h 2091 2014-10-03 00:46:49Z mlubin $ */
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     ;
00212     COINLIBAPI void  COINLINKAGE
00213     Cbc_addSOS(Cbc_Model * model, int numRows, const int * rowStarts,
00214                const int * colIndices, const double * weights, const int type)
00215     ;
00217     COINLIBAPI void COINLINKAGE
00218     Cbc_printModel(Cbc_Model * model, const char * argPrefix)
00219     ;
00221     COINLIBAPI Cbc_Model * COINLINKAGE
00222     Cbc_clone(Cbc_Model * model)
00223     ;
00230     COINLIBAPI void COINLINKAGE
00231     Cbc_setParameter(Cbc_Model * model, const char * name, const char * value)
00232     ;
00233 
00234     
00240     COINLIBAPI void COINLINKAGE
00241     Cbc_registerCallBack(Cbc_Model * model,
00242                          cbc_callback userCallBack)
00243     ;
00245     COINLIBAPI void COINLINKAGE
00246     Cbc_clearCallBack(Cbc_Model * model)
00247     ;
00248 
00254     /* Solve the model with Cbc (using CbcMain1).
00255     */
00256     COINLIBAPI int COINLINKAGE
00257     Cbc_solve(Cbc_Model * model)
00258     ;
00264 
00266     COINLIBAPI double COINLINKAGE
00267     Cbc_sumPrimalInfeasibilities(Cbc_Model * model)
00268     ;
00270     COINLIBAPI int COINLINKAGE
00271     Cbc_numberPrimalInfeasibilities(Cbc_Model * model)
00272     ;
00273 
00276     COINLIBAPI void COINLINKAGE
00277     Cbc_checkSolution(Cbc_Model * model)
00278     ;
00279 
00281     COINLIBAPI int COINLINKAGE
00282     Cbc_getIterationCount(Cbc_Model * model)
00283     ;
00285     COINLIBAPI int COINLINKAGE
00286     Cbc_isAbandoned(Cbc_Model * model)
00287     ;
00289     COINLIBAPI int COINLINKAGE
00290     Cbc_isProvenOptimal(Cbc_Model * model)
00291     ;
00293     COINLIBAPI int COINLINKAGE
00294     Cbc_isProvenInfeasible(Cbc_Model * model)
00295     ;
00297     COINLIBAPI int COINLINKAGE
00298     Cbc_isContinuousUnbounded(Cbc_Model * model)
00299     ;
00301     COINLIBAPI int COINLINKAGE
00302     Cbc_isNodeLimitReached(Cbc_Model * model)
00303     ;
00305     COINLIBAPI int COINLINKAGE
00306     Cbc_isSecondsLimitReached(Cbc_Model * model)
00307     ;
00309     COINLIBAPI int COINLINKAGE
00310     Cbc_isSolutionLimitReached(Cbc_Model * model)
00311     ;
00313     COINLIBAPI int COINLINKAGE
00314     Cbc_isInitialSolveAbandoned(Cbc_Model * model)
00315     ;
00317     COINLIBAPI int COINLINKAGE
00318     Cbc_isInitialSolveProvenOptimal(Cbc_Model * model)
00319     ;
00321     COINLIBAPI int COINLINKAGE
00322     Cbc_isInitialSolveProvenPrimalInfeasible(Cbc_Model * model)
00323     ;
00327     COINLIBAPI const double * COINLINKAGE
00328     Cbc_getRowActivity(Cbc_Model * model)
00329     ;
00331     COINLIBAPI const double * COINLINKAGE
00332     Cbc_getColSolution(Cbc_Model * model)
00333     ;
00335     COINLIBAPI double COINLINKAGE
00336     Cbc_getObjValue(Cbc_Model * model)
00337     ;
00339     COINLIBAPI double COINLINKAGE
00340     Cbc_getBestPossibleObjValue(Cbc_Model * model)
00341     ;
00343     COINLIBAPI int COINLINKAGE
00344     Cbc_getNodeCount(Cbc_Model * model)
00345     ;
00347     COINLIBAPI void  COINLINKAGE
00348     Cbc_printSolution(Cbc_Model * model)
00349     ;
00359     COINLIBAPI int COINLINKAGE
00360     Cbc_status(Cbc_Model * model)
00361     ;
00374     COINLIBAPI int COINLINKAGE
00375     Cbc_secondaryStatus(Cbc_Model * model)
00376     ;
00378 #ifdef __cplusplus
00379 }
00380 #endif
00381 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 19 Jan 2015 for Cbc by  doxygen 1.6.1