source: trunk/CoinMP/src/CoinProblem.h @ 524

Last change on this file since 524 was 441, checked in by bjarni, 8 years ago

Change void* to const void* for callback UserParam? arguments

File size: 2.9 KB
Line 
1
2/*  CoinProblem.h  */
3
4
5#ifndef _COINPROBLEM_H_
6#define _COINPROBLEM_H_
7
8
9typedef struct {
10                                char ProblemName[200];
11
12                                int ColCount;
13                                int RowCount;
14                                int NZCount;
15                                int RangeCount;
16                                int ObjectSense;
17                                double ObjectConst;
18
19                                int lenColNamesBuf;
20                                int lenRowNamesBuf;
21                                int lenObjNameBuf;
22
23                                double* ObjectCoeffs;
24                                double* RHSValues;
25                                double* RangeValues;
26                                char* RowType;
27                                int* MatrixBegin;
28                                int* MatrixCount;
29                                int* MatrixIndex; 
30                                double* MatrixValues;
31                                double* LowerBounds;
32                                double* UpperBounds;
33                                char* ColNamesBuf;
34                                char* RowNamesBuf;
35                                char** ColNamesList;
36                                char** RowNamesList;
37                                char* ObjectName;
38
39                                double* InitValues;
40
41                                double* RowLower;
42                                double* RowUpper;
43
44                                char* ColType;
45
46                                int SolveAsMIP;
47                                int IntCount;
48                                int BinCount;
49                                int numInts;
50                                char *IsInt;
51
52                                int PriorCount;
53                                int* PriorIndex;
54                                int* PriorValues;
55                                int* PriorBranch;
56
57                                int SosCount;
58                                int SosNZCount;
59                                int* SosType;
60                                int* SosPrior;
61                                int* SosBegin;
62                                int* SosIndex;
63                                double* SosRef;
64
65                                int SemiCount;
66                                int* SemiIndex;
67
68                                } PROBLEMINFO, *PPROBLEM;
69
70
71#ifdef __cplusplus
72extern "C" {
73#endif
74
75
76PPROBLEM coinCreateProblemObject(void);
77void coinClearProblemObject(PPROBLEM pProblem);
78
79void coinSetProblemName(PPROBLEM pProblem, const char *ProblemName);
80
81int coinStoreMatrix(PPROBLEM pProblem,  int ColCount, int RowCount, int NZCount, int RangeCount, 
82                                int ObjectSense, double ObjectConst, double* ObjectCoeffs, double* LowerBounds, 
83                                double* UpperBounds, const char* RowType, double* RHSValues, double* RangeValues, 
84                                int* MatrixBegin, int* MatrixCount, int* MatrixIndex, double* MatrixValues);
85
86int coinStoreNamesList(PPROBLEM pProblem, char** ColNamesList, char** RowNamesList, const char* OjbectName);
87int coinStoreNamesBuf(PPROBLEM pProblem, const char* ColNamesBuf, const char* RowNamesBuf, const char* ObjectName);
88
89int coinStoreInitValues(PPROBLEM pProblem, double* InitValues);
90int coinStoreInteger(PPROBLEM pProblem, const char* ColType);
91
92int coinStorePriority(PPROBLEM pProblem, int PriorCount, int* PriorIndex, 
93                                int* PriorValues, int* PriorBranch);
94int coinStoreSos(PPROBLEM pProblem, int SosCount, int SosNZCount, 
95                                int* SosType, int* SosPrior, int* SosBegin, 
96                                int* SosIndex, double* SosRef);
97int coinStoreSemiCont(PPROBLEM pProblem, int SemiCount, int* SemiIndex);
98
99int coinComputeRowLowerUpper(PPROBLEM pProblem, double CoinDblMax);
100
101int coinComputeIntVariables(PPROBLEM pProblem);
102
103int coinGetLenNameBuf(const char* NameBuf, int Count);
104int coinGetLenNameListBuf(char** NameList, int Count);
105
106int coinCopyNamesList(char** NamesList, char* NamesBuf, char** argNamesList, int Count);
107int coinSetupNamesList(char** NamesList, const char* NamesBuf, int Count);
108
109#ifdef __cplusplus
110}
111#endif
112
113
114#endif  /* _COINPROBLEM_H_ */
115
Note: See TracBrowser for help on using the repository browser.