limp-cbc-0.3.2.0: cbits/coin/Cbc_ampl.h
/* $Id: Cbc_ampl.h 1573 2011-01-05 01:12:36Z lou $ */
/*
Copyright (C) 2006, International Business Machines Corporation and others.
All Rights Reserved.
This code is licensed under the terms of the Eclipse Public License (EPL).
*/
#ifndef AmplInterface_H
#define AmplInterface_H
typedef struct {
int numberRows;
int numberColumns;
int numberBinary;
int numberIntegers; /* non binary */
int numberSos;
int numberElements;
int numberArguments;
int problemStatus;
double direction;
double offset;
double objValue;
double * objective;
double * rowLower;
double * rowUpper;
double * columnLower;
double * columnUpper;
int * starts;
int * rows;
double * elements;
double * primalSolution;
double * dualSolution;
int * columnStatus;
int * rowStatus;
int * priorities;
int * branchDirection;
double * pseudoDown;
double * pseudoUp;
char * sosType;
int * sosPriority;
int * sosStart;
int * sosIndices;
double * sosReference;
int * cut;
int * special;
char ** arguments;
char buffer[300];
int logLevel;
int nonLinear;
} ampl_info;
#ifdef __cplusplus
extern "C" {
#endif
/* return nonzero if bad */
int readAmpl(ampl_info * info, int argc, char ** argv,
void ** coinModel);
/* frees some input arrays */
void freeArrays1(ampl_info * info);
/* frees rest */
void freeArrays2(ampl_info * info);
/* frees fake arguments */
void freeArgs(ampl_info * info);
/* writes ampl stuff */
void writeAmpl(ampl_info * info);
/* objective precision */
int ampl_obj_prec();
#ifdef __cplusplus
}
#endif
#endif