Cbc_ampl.h
Go to the documentation of this file.
1 /* $Id: Cbc_ampl.h 1286 2009-11-09 23:33:07Z EdwinStraver $ */
2 // Copyright (C) 2006, International Business Machines
3 // Corporation and others. All Rights Reserved.
4 #ifndef AmplInterface_H
5 #define AmplInterface_H
6 typedef struct {
7  int numberRows;
10  int numberIntegers; /* non binary */
11  int numberSos;
15  double direction;
16  double offset;
17  double objValue;
18  double * objective;
19  double * rowLower;
20  double * rowUpper;
21  double * columnLower;
22  double * columnUpper;
23  int * starts;
24  int * rows;
25  double * elements;
26  double * primalSolution;
27  double * dualSolution;
28  int * columnStatus;
29  int * rowStatus;
30  int * priorities;
32  double * pseudoDown;
33  double * pseudoUp;
34  char * sosType;
35  int * sosPriority;
36  int * sosStart;
37  int * sosIndices;
38  double * sosReference;
39  int * cut;
40  int * special;
41  char ** arguments;
42  char buffer[300];
43  int logLevel;
44  int nonLinear;
45 } ampl_info;
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
49  /* return nonzero if bad */
50  int readAmpl(ampl_info * info, int argc, char ** argv,
51  void ** coinModel);
52  /* frees some input arrays */
53  void freeArrays1(ampl_info * info);
54  /* frees rest */
55  void freeArrays2(ampl_info * info);
56  /* frees fake arguments */
57  void freeArgs(ampl_info * info);
58  /* writes ampl stuff */
59  void writeAmpl(ampl_info * info);
60  /* objective precision */
61  int ampl_obj_prec();
62 #ifdef __cplusplus
63 }
64 #endif
65 #endif