Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

AgentProblem Class Reference

Auxiliary class for class MipHandler. More...

#include <AgentProblem.h>

Collaboration diagram for AgentProblem:

Collaboration graph
[legend]
List of all members.

Private member data

void round ()
 truncate or round all values of the problem to given precision eps
void round (double *vector, int vectorlength)
 truncate or round all values of the vector to given precision eps
void round (CoinPackedMatrix *MatrixDouble)
 truncate or round all values of MatrixDouble to given precision eps
double round (double value)
double truncate (double precision, double &x)
 truncates a double x to given precision, i.e. cuts of decimals which are of lower "importance" than precision ;
double round (int numberofdecimals_, double &x)
 rounds a double x to number of decimals; found on the web; cf. truncate()
int allocateVectors (const int numcols, const int numrows)
 allocate memory for constraint vectors, objective function and equation type
template<class Type>
int allocateVector (Type *&pointertovector, long int sizeofvector)
 checks if array not already exists and if sizeofvector > 0; if true allocates memory
template<class ClassType>
void copy (ClassType *&finalObjectPtr_, const ClassType *originalObject)
 copy a class pointers' contents and allocate neccessary memory
void freeCachedColRim ()
 free cached column rim vectors
void freeCachedRowRim ()
 free cached row rim vectors
void freeCachedResults ()
 free cached result vectors
void freeCachedMatrix ()
 free cached matrices
void freeCachedSpeciallyOrdSets ()
 free cached specially ordered sets and integer sets
void freeCachedData (int keepCached=KEEPCACHED_NONE)
 free all cached data (except specified entries, see getLpPtr())
void gutsOfConstructor ()
 real work of constructor
void gutsOfDestructor ()
 real work of destructor
void freeAllMemory ()
 free all allocated memory
double * obj
 Pointer to objective vector.
double * obj2
 Pointer to second objective vector to be used in bicriteria solver.
double * collower
 Pointer to dense vector of variable lower bounds.
double * colupper
 Pointer to dense vector of variable lower bounds.
char * rowsense
 Pointer to dense vector of row sense indicators.
double * rowrhs
 Pointer to dense vector of row right-hand side values.
double * rowrange
double * rowlower
 Pointer to dense vector of row lower bounds.
double * rowupper
 Pointer to dense vector of row upper bounds.
int * isint
 Pointer to information if varible is an integer or contiuous, true resp. false.
CoinPackedMatrix * matrixByRow
 Pointer to row-wise copy of problem MatrixDouble coefficients.
CoinPackedMatrix * matrixByCol
 Pointer to row-wise copy of problem MatrixDouble coefficients.
double objsense
 Objective function sense (1 for min (default), -1 for max).
int numberofsos
 Number of specially ordered sets.
SpeciallyOrderedSet ** speciallyOrderedSets
 Array with numberofsos specially ordered sets.
int numberofintegersets
 Number of integer sets.
SpeciallyOrderedSet ** integerSets
 Array with numberofintegersets integersets.
CoinPackedMatrix infoBlock
 Info Block from Excel tableau.
CoinPackedMatrix * activityType
 Activity Typ.
double infinity
 Infinity of chosen solver.
double eps
 Tolerance/Precision as double.
int numberofdecimals
 Precision in decimals.
bool test
 Test flag.
int numberofrowstodrop
 Number of Rows which are zero and thus can be deleted.
int * rowsToDrop
 Row indices of rows which are zero and thus can be deleted.
int numberofcolstodrop
 Number of Columns which are zero and thus can be deleted.
int * colsToDrop
 Column indices of rows which are zero and thus can be deleted.

Public Types

enum  keepCachedFlag {
  KEEPCACHED_NONE = 0, KEEPCACHED_COLUMN = 1, KEEPCACHED_ROW = 2, KEEPCACHED_MATRIX = 4,
  KEEPCACHED_SOS = 5, KEEPCACHED_RESULTS = 8, KEEPCACHED_PROBLEM = KEEPCACHED_COLUMN | KEEPCACHED_ROW | KEEPCACHED_MATRIX | KEEPCACHED_SOS, KEEPCACHED_ALL = KEEPCACHED_PROBLEM | KEEPCACHED_RESULTS,
  FREECACHED_COLUMN = KEEPCACHED_PROBLEM & !KEEPCACHED_COLUMN & !KEEPCACHED_SOS, FREECACHED_ROW = KEEPCACHED_PROBLEM & !KEEPCACHED_ROW, FREECACHED_MATRIX = KEEPCACHED_PROBLEM & !KEEPCACHED_MATRIX, FREECACHED_RESULTS = KEEPCACHED_ALL & !KEEPCACHED_RESULTS
}

Public Member Functions

Problem query methods
Querying a problem that has no data associated with it will result in zeros for the number of rows and columns, and NULL pointers from the methods that return vectors.

Const pointers returned from any data-query method are valid as long as the data is unchanged and the solver is not called.

int getNumCols () const
 Get number of columns.
int getNumRows () const
 Get number of rows.
int getNumElements () const
 Get number of nonzero elements.
const double * getColLower () const
 Get pointer to array[getNumCols()] of column lower bounds.
const double * getColUpper () const
 Get pointer to array[getNumCols()] of column upper bounds.
const char * getRowSense () const
const double * getRightHandSide () const
const double * getRowRange () const
const double * getRowLower () const
 Get pointer to array[getNumRows()] of row lower bounds.
const double * getRowUpper () const
 Get pointer to array[getNumRows()] of row upper bounds.
const double * getObjCoefficients () const
 Get pointer to array[getNumCols()] of objective function coefficients.
const double * getObj2Coefficients () const
double getObjSense () const
 Get objective function sense (1 for min (default), -1 for max).
double getMatCoeff (int i, int j)
 Return MatrixDouble element by row and column index.
int getNumberOfSpeciallyOrderedSets () const
 Return the number of specially ordered sets.
SpeciallyOrderedSetgetSpeciallyOrderedSet (int index) const
 Return a pointer to indicated specially ordered set.
int getNumberOfIntegerSets () const
 Return the number of integer sets.
SpeciallyOrderedSetgetIntegerSet (int index) const
 Return a pointer to indicated integer set.
bool isContinuous (int colIndex) const
 Return true if variable is continuous.
bool isBinary (int colIndex) const
 Return true if variable is binary.
bool isInteger (int colIndex) const
bool isIntegerNonBinary (int colIndex) const
 Return true if variable is general integer.
bool isFreeBinary (int colIndex) const
 Return true if variable is binary and not fixed at either bound.
const CoinPackedMatrix * getMatrixByRow () const
 Get pointer to row-wise copy of MatrixDouble.
const CoinPackedMatrix * getMatrixByCol () const
 Get pointer to column-wise copy of MatrixDouble.
double getInfinity () const
 Get solver's value for infinity.
double getTolerance () const
 Get the tolerance/precision of variables as a double value.
int getNumberOfDecimals () const
 Get the tolerance/precision of variables as number of decimals.
bool getTestFlag () const
 Get test flag.
int getNumberOfRowsToDrop () const
 Get the number of Rows which are zero and thus can be deleted.
int * getRowsToDrop () const
 Get indices of rows which are zero and thus can be deleted.
int getNumberOfColsToDrop () const
 Get the number of Columns which are zero and thus can be deleted.
int * getColsToDrop () const
 Get indices of columns which are zero and thus can be deleted.
int getActivityType (int index) const
 Get component index of activity types.
const CoinPackedMatrix * getActivityType () const
 Get a pointer to activity types; needed in copy constructor.
Methods to get information for Excel tableau
CoinPackedMatrix getInfoBlock () const
 Get the info block about the tableau structure.
Methods to modify the objective, bounds, and solution
virtual void setObjCoeff (int elementIndex, double elementValue)
virtual void setObj2Coeff (int elementIndex, double elementValue)
virtual void setColLower (int elementIndex, double elementValue)
virtual void setColUpper (int elementIndex, double elementValue)
virtual void setRowLower (int elementIndex, double elementValue) const
virtual void setRowUpper (int elementIndex, double elementValue) const
virtual void setRowType (int index, char sense, double rightHandSide, double range) const
virtual void setRightHandSide (int index, double elementValue) const
virtual void setObjSense (double s)
 Set the objective function sense. (1 for min (default), -1 for max).
virtual void setNumberOfSpeciallyOrderedSets (int numberofsos_)
 Set the number of specially ordered sets.
virtual void setNumberOfIntegerSets (int numberofintegersets_)
 Set the number of integer Sets.
virtual void setMatCoeff (int i, int j, double coeff)
 Set the (i,j)-th coefficient in constraint MatrixDouble.
virtual int setActivityType (int index, double value)
 Set coefficients of activity Type.
Methods to set variable type
virtual void setContinuous (int index)
virtual void setInteger (int index)
virtual void setColName (char **colname)
Methods to set parameters
virtual void setInfinity (double infinity)
virtual void setTolerance (double eps_)
 Set the tolerance/precision of variables as a double value.
virtual void setNumberOfDecimals (int numberofdecimals_)
 Set the tolerance/precision of variables as number of decimals.
virtual void setTestFlag (bool test)
 Set test flag.
Methods to set specially ordered sets
virtual void setSpeciallyOrderedSets (int numberOfSos, SpeciallyOrderedSet *speciallyOrdSets)
 Set the specially ordered (integer) sets.
virtual void setIntegerSets (int numberOfIntegerSets, SpeciallyOrderedSet *integerSets)
 Set the integer sets.
Methods to set information for Excel tableau
virtual void setInfoBlock (const CoinPackedMatrix infoBlock_)
 Set the info block about tableau structure.
Methods to input a problem
virtual void loadProblem (const CoinPackedMatrix &MatrixDouble, const double *collb, const double *colub, const double *obj, const char *rowsen, const double *rowrhs, const double *rowrng)
Methods to analyse a problem
virtual void findEmptyRowsAndCols ()
 find the empty Rows and columns, i.e. rows and columns equal to zero
Reading and writing files
int read (FILE *datStream, int &istransposed)
 Reads mtx file.
int write (FILE *file, int istransposed) const
 Reads mtx file.
virtual void output (string name)
 some other write to file function
Constructors and destructors
 AgentProblem ()
 Default constructor.
 AgentProblem (const AgentProblem &problem)
 Copy constructor.
AgentProblemoperator= (const AgentProblem &rhs)
 ~AgentProblem ()
 Destructor.

Protected Member Functions

Private member data
void convertBoundToSense (const double lower, const double upper, char &sense, double &right, double &range) const
void convertSenseToBound (const char sense, const double right, const double range, double &lower, double &upper) const

Detailed Description

Auxiliary class for class MipHandler.

The auxiliary class AgentProblem is an extended data structure which initially contains the decision problem (i.e. a MIP(Mixed Integer Problems) ) of an agent which is passed to the OsiSolverInterface to be solved. Finally the MIPs solution should be passed back from the OsiSolverInterface to the agent by the MipHandler using the class AgentSolution. The Interface between AgentF and OsiSolverInterface (meassage handling) is the class MipHandler. The structure and contents of this class corresponds essentially to the structure and contents of an mtx file. An mtx file is identical to the first part of a (new)dat file.


Member Enumeration Documentation

enum AgentProblem::keepCachedFlag
 

Enumeration values:
KEEPCACHED_NONE  discard all cached data (default)
KEEPCACHED_COLUMN  column information: objective values, lower and upper bounds, variable types
KEEPCACHED_ROW  row information: right hand sides, ranges and senses, lower and upper bounds for row
KEEPCACHED_MATRIX  problem MatrixDouble: MatrixDouble ordered by column and by row
KEEPCACHED_SOS  specially ordered sets and integer sets
KEEPCACHED_RESULTS  LP solution: primal and dual solution, reduced costs, row activities.
KEEPCACHED_PROBLEM  only discard cached LP solution
KEEPCACHED_ALL  keep all cached data (similar to getMutableLpPtr())
FREECACHED_COLUMN  free only cached column and LP solution information
FREECACHED_ROW  free only cached row and LP solution information
FREECACHED_MATRIX  free only cached MatrixDouble and LP solution information
FREECACHED_RESULTS  free only cached LP solution information


Constructor & Destructor Documentation

AgentProblem::AgentProblem  ) 
 

Default constructor.

AgentProblem::AgentProblem const AgentProblem problem  ) 
 

Copy constructor.

AgentProblem::~AgentProblem  ) 
 

Destructor.


Member Function Documentation

template<class Type>
int AgentProblem::allocateVector Type *&  pointertovector,
long int  sizeofvector
[private]
 

checks if array not already exists and if sizeofvector > 0; if true allocates memory

int AgentProblem::allocateVectors const int  numcols,
const int  numrows
[private]
 

allocate memory for constraint vectors, objective function and equation type

void AgentProblem::convertBoundToSense const double  lower,
const double  upper,
char &  sense,
double &  right,
double &  range
const [inline, protected]
 

A quick inlined function to convert from the lb/ub style of constraint definition to the sense/rhs/range style

Here is the call graph for this function:

void AgentProblem::convertSenseToBound const char  sense,
const double  right,
const double  range,
double &  lower,
double &  upper
const [inline, protected]
 

A quick inlined function to convert from the sense/rhs/range style of constraint definition to the lb/ub style

Here is the call graph for this function:

template<class ClassType>
void AgentProblem::copy ClassType *&  finalObjectPtr_,
const ClassType *  originalObject
[private]
 

copy a class pointers' contents and allocate neccessary memory

checks if memory for target of finalObjectPtr_ not already exists and if true allocates memory and copies contents of originalObject into finalObjectPtr_

virtual void AgentProblem::findEmptyRowsAndCols  )  [virtual]
 

find the empty Rows and columns, i.e. rows and columns equal to zero

which can be accessed by: int getNumberOfRowsToDrop()const; int* getRowsToDrop()const; int getNumberOfColsToDrop()const; int* getColsToDrop()const;

void AgentProblem::freeAllMemory  )  [private]
 

free all allocated memory

void AgentProblem::freeCachedColRim  )  [private]
 

free cached column rim vectors

void AgentProblem::freeCachedData int  keepCached = KEEPCACHED_NONE  )  [private]
 

free all cached data (except specified entries, see getLpPtr())

void AgentProblem::freeCachedMatrix  )  [private]
 

free cached matrices

void AgentProblem::freeCachedResults  )  [private]
 

free cached result vectors

void AgentProblem::freeCachedRowRim  )  [private]
 

free cached row rim vectors

void AgentProblem::freeCachedSpeciallyOrdSets  )  [private]
 

free cached specially ordered sets and integer sets

const CoinPackedMatrix* AgentProblem::getActivityType  )  const
 

Get a pointer to activity types; needed in copy constructor.

int AgentProblem::getActivityType int  index  )  const
 

Get component index of activity types.

const double* AgentProblem::getColLower  )  const
 

Get pointer to array[getNumCols()] of column lower bounds.

int* AgentProblem::getColsToDrop  )  const
 

Get indices of columns which are zero and thus can be deleted.

const double* AgentProblem::getColUpper  )  const
 

Get pointer to array[getNumCols()] of column upper bounds.

double AgentProblem::getInfinity  )  const
 

Get solver's value for infinity.

CoinPackedMatrix AgentProblem::getInfoBlock  )  const
 

Get the info block about the tableau structure.

SpeciallyOrderedSet* AgentProblem::getIntegerSet int  index  )  const
 

Return a pointer to indicated integer set.

double AgentProblem::getMatCoeff int  i,
int  j
 

Return MatrixDouble element by row and column index.

const CoinPackedMatrix* AgentProblem::getMatrixByCol  )  const
 

Get pointer to column-wise copy of MatrixDouble.

const CoinPackedMatrix* AgentProblem::getMatrixByRow  )  const
 

Get pointer to row-wise copy of MatrixDouble.

int AgentProblem::getNumberOfColsToDrop  )  const
 

Get the number of Columns which are zero and thus can be deleted.

int AgentProblem::getNumberOfDecimals  )  const
 

Get the tolerance/precision of variables as number of decimals.

int AgentProblem::getNumberOfIntegerSets  )  const
 

Return the number of integer sets.

int AgentProblem::getNumberOfRowsToDrop  )  const
 

Get the number of Rows which are zero and thus can be deleted.

int AgentProblem::getNumberOfSpeciallyOrderedSets  )  const
 

Return the number of specially ordered sets.

int AgentProblem::getNumCols  )  const
 

Get number of columns.

int AgentProblem::getNumElements  )  const
 

Get number of nonzero elements.

int AgentProblem::getNumRows  )  const
 

Get number of rows.

const double* AgentProblem::getObj2Coefficients  )  const
 

Get pointer to array[getNumCols()] of second objective function coefficients if loaded before.

const double* AgentProblem::getObjCoefficients  )  const
 

Get pointer to array[getNumCols()] of objective function coefficients.

double AgentProblem::getObjSense  )  const
 

Get objective function sense (1 for min (default), -1 for max).

const double* AgentProblem::getRightHandSide  )  const
 

Get pointer to array[getNumRows()] of row right-hand sides

const double* AgentProblem::getRowLower  )  const
 

Get pointer to array[getNumRows()] of row lower bounds.

const double* AgentProblem::getRowRange  )  const
 

Get pointer to array[getNumRows()] of row ranges.

const char* AgentProblem::getRowSense  )  const
 

Get pointer to array[getNumRows()] of row constraint senses.

  • 'L': <= constraint
  • 'E': = constraint
  • 'G': >= constraint
  • 'R': ranged constraint
  • 'N': free constraint

int* AgentProblem::getRowsToDrop  )  const
 

Get indices of rows which are zero and thus can be deleted.

const double* AgentProblem::getRowUpper  )  const
 

Get pointer to array[getNumRows()] of row upper bounds.

SpeciallyOrderedSet* AgentProblem::getSpeciallyOrderedSet int  index  )  const
 

Return a pointer to indicated specially ordered set.

bool AgentProblem::getTestFlag  )  const
 

Get test flag.

double AgentProblem::getTolerance  )  const
 

Get the tolerance/precision of variables as a double value.

void AgentProblem::gutsOfConstructor  )  [private]
 

real work of constructor

void AgentProblem::gutsOfDestructor  )  [private]
 

real work of destructor

bool AgentProblem::isBinary int  colIndex  )  const [inline]
 

Return true if variable is binary.

bool AgentProblem::isContinuous int  colIndex  )  const
 

Return true if variable is continuous.

bool AgentProblem::isFreeBinary int  colIndex  )  const [inline]
 

Return true if variable is binary and not fixed at either bound.

bool AgentProblem::isInteger int  colIndex  )  const
 

Return true if column is integer. Note: This function returns true if the the column is binary or a general integer.

bool AgentProblem::isIntegerNonBinary int  colIndex  )  const [inline]
 

Return true if variable is general integer.

virtual void AgentProblem::loadProblem const CoinPackedMatrix &  MatrixDouble,
const double *  collb,
const double *  colub,
const double *  obj,
const char *  rowsen,
const double *  rowrhs,
const double *  rowrng
[virtual]
 

Load in an problem by copying the arguments (the constraints on the rows are given by sense/rhs/range triplets). If a pointer is 0 then the following values are the default:

  • colub: all columns have upper bound infinity
  • collb: all columns have lower bound 0
  • obj: all variables have 0 objective coefficient
  • rowsen: all rows are >=
  • rowrhs: all right hand sides are 0
  • rowrng: 0 for the ranged rows

AgentProblem& AgentProblem::operator= const AgentProblem rhs  ) 
 

virtual void AgentProblem::output string  name  )  [virtual]
 

some other write to file function

int AgentProblem::read FILE *  datStream,
int &  istransposed
 

Reads mtx file.

Reads in MILP tableau from mtx input file and

double AgentProblem::round int  numberofdecimals_,
double &  x
[private]
 

rounds a double x to number of decimals; found on the web; cf. truncate()

double AgentProblem::round double  value  )  [private]
 

if value is truncated or rounded depends on the use of truncate() or round()

void AgentProblem::round CoinPackedMatrix *  MatrixDouble  )  [private]
 

truncate or round all values of MatrixDouble to given precision eps

void AgentProblem::round double *  vector,
int  vectorlength
[private]
 

truncate or round all values of the vector to given precision eps

void AgentProblem::round  )  [private]
 

truncate or round all values of the problem to given precision eps

Truncates or rounds (depends if truncate() or round() is chosen in double round(double value) ) all doubles and set values smaller than eps to zero ( reduce "Zahlenschrott")

virtual int AgentProblem::setActivityType int  index,
double  value
[virtual]
 

Set coefficients of activity Type.

virtual void AgentProblem::setColLower int  elementIndex,
double  elementValue
[virtual]
 

Set a single column lower bound. Use -getInfinity() for -infinity.

virtual void AgentProblem::setColName char **  colname  )  [inline, virtual]
 

virtual void AgentProblem::setColUpper int  elementIndex,
double  elementValue
[virtual]
 

Set a single column upper bound. Use getInfinity() for infinity.

virtual void AgentProblem::setContinuous int  index  )  [virtual]
 

Set the index-th variable to be a continuous variable

virtual void AgentProblem::setInfinity double  infinity  )  [virtual]
 

virtual void AgentProblem::setInfoBlock const CoinPackedMatrix  infoBlock_  )  [virtual]
 

Set the info block about tableau structure.

virtual void AgentProblem::setInteger int  index  )  [virtual]
 

Set the index-th variable to be an integer variable

virtual void AgentProblem::setIntegerSets int  numberOfIntegerSets,
SpeciallyOrderedSet integerSets
[virtual]
 

Set the integer sets.

virtual void AgentProblem::setMatCoeff int  i,
int  j,
double  coeff
[virtual]
 

Set the (i,j)-th coefficient in constraint MatrixDouble.

virtual void AgentProblem::setNumberOfDecimals int  numberofdecimals_  )  [virtual]
 

Set the tolerance/precision of variables as number of decimals.

Automatically sets the tolerance eps = pow(10.,-numberofdecimals);

virtual void AgentProblem::setNumberOfIntegerSets int  numberofintegersets_  )  [virtual]
 

Set the number of integer Sets.

virtual void AgentProblem::setNumberOfSpeciallyOrderedSets int  numberofsos_  )  [virtual]
 

Set the number of specially ordered sets.

virtual void AgentProblem::setObj2Coeff int  elementIndex,
double  elementValue
[virtual]
 

Set an objective function coefficient for the second objective

virtual void AgentProblem::setObjCoeff int  elementIndex,
double  elementValue
[virtual]
 

Set an objective function coefficient

virtual void AgentProblem::setObjSense double  s  )  [virtual]
 

Set the objective function sense. (1 for min (default), -1 for max).

virtual void AgentProblem::setRightHandSide int  index,
double  elementValue
const [virtual]
 

set the right hand side, depending variables, i.e. corresponding upper and lower bound are adapted automatically

virtual void AgentProblem::setRowLower int  elementIndex,
double  elementValue
const [virtual]
 

Set a single row lower bound. Use -getInfinity() for -infinity, i.e. corresponding right hand side, range and type are adapted automatically

virtual void AgentProblem::setRowType int  index,
char  sense,
double  rightHandSide,
double  range
const [virtual]
 

Set the type of a single row , depending variables, i.e. corresponding upper and lower bound are adapted automatically

virtual void AgentProblem::setRowUpper int  elementIndex,
double  elementValue
const [virtual]
 

Set a single row upper bound. Use getInfinity() for infinity.Depending variables, i.e. corresponding right hand side, range and type are adapted automatically

virtual void AgentProblem::setSpeciallyOrderedSets int  numberOfSos,
SpeciallyOrderedSet speciallyOrdSets
[virtual]
 

Set the specially ordered (integer) sets.

virtual void AgentProblem::setTestFlag bool  test  )  [virtual]
 

Set test flag.

virtual void AgentProblem::setTolerance double  eps_  )  [virtual]
 

Set the tolerance/precision of variables as a double value.

Automatically sets numberofdecimals = = -(int)log(eps)/log(10.)

double AgentProblem::truncate double  precision,
double &  x
[private]
 

truncates a double x to given precision, i.e. cuts of decimals which are of lower "importance" than precision ;

CAVE: truncate just works (of course) with expressable machine numbers. So do not be surprised if you cut of some decimals, but if you look at the truncated double it still has many "too many "decimals. The advantage of truncate() over round() is that it is platform independent, as round uses the C build-in function floo().

int AgentProblem::write FILE *  file,
int  istransposed
const
 

Reads mtx file.

Writes MILP tableau as mtx file


Member Data Documentation

CoinPackedMatrix* AgentProblem::activityType [private]
 

Activity Typ.

double* AgentProblem::collower [private]
 

Pointer to dense vector of variable lower bounds.

int* AgentProblem::colsToDrop [private]
 

Column indices of rows which are zero and thus can be deleted.

double* AgentProblem::colupper [private]
 

Pointer to dense vector of variable lower bounds.

double AgentProblem::eps [private]
 

Tolerance/Precision as double.

double AgentProblem::infinity [private]
 

Infinity of chosen solver.

CoinPackedMatrix AgentProblem::infoBlock [private]
 

Info Block from Excel tableau.

SpeciallyOrderedSet** AgentProblem::integerSets [private]
 

Array with numberofintegersets integersets.

int* AgentProblem::isint [private]
 

Pointer to information if varible is an integer or contiuous, true resp. false.

CoinPackedMatrix* AgentProblem::matrixByCol [private]
 

Pointer to row-wise copy of problem MatrixDouble coefficients.

CoinPackedMatrix* AgentProblem::matrixByRow [private]
 

Pointer to row-wise copy of problem MatrixDouble coefficients.

Pointer to row-wise copy of problem MatrixDouble coefficients. CAVE: Not used, yet! E.g. in loadProblem() matrixByRow is not loaded

int AgentProblem::numberofcolstodrop [private]
 

Number of Columns which are zero and thus can be deleted.

int AgentProblem::numberofdecimals [private]
 

Precision in decimals.

int AgentProblem::numberofintegersets [private]
 

Number of integer sets.

int AgentProblem::numberofrowstodrop [private]
 

Number of Rows which are zero and thus can be deleted.

int AgentProblem::numberofsos [private]
 

Number of specially ordered sets.

double* AgentProblem::obj [private]
 

Pointer to objective vector.

double* AgentProblem::obj2 [private]
 

Pointer to second objective vector to be used in bicriteria solver.

double AgentProblem::objsense [private]
 

Objective function sense (1 for min (default), -1 for max).

double* AgentProblem::rowlower [private]
 

Pointer to dense vector of row lower bounds.

double* AgentProblem::rowrange [private]
 

Pointer to dense vector of slack upper bounds for range constraints (undefined for non-range rows)

double* AgentProblem::rowrhs [private]
 

Pointer to dense vector of row right-hand side values.

char* AgentProblem::rowsense [private]
 

Pointer to dense vector of row sense indicators.

int* AgentProblem::rowsToDrop [private]
 

Row indices of rows which are zero and thus can be deleted.

double* AgentProblem::rowupper [private]
 

Pointer to dense vector of row upper bounds.

SpeciallyOrderedSet** AgentProblem::speciallyOrderedSets [private]
 

Array with numberofsos specially ordered sets.

bool AgentProblem::test [private]
 

Test flag.


The documentation for this class was generated from the following file:
Generated on Thu Aug 28 12:39:51 2008 for MPMAS by  doxygen 1.3.9.1